integrated-application-development / delphilint

Delphi IDE package providing on-the-fly code analysis and linting, powered by SonarDelphi
GNU Lesser General Public License v3.0
77 stars 9 forks source link

Precompiled BPL does not work with Delphi 11.0 #51

Open denieu opened 3 weeks ago

denieu commented 3 weeks ago

Prerequisites

Delphi IDE version

Delphi 11.0 Version 28.0.42600.6491

DelphiLint version

1.1.1

SonarDelphi version

1.6.0

SonarQube version

10.5.1

Issue description

I tried to install the precompiled plugin in RAD Studio but an error occurs when opening the IDE or a project.

The error is: image

My OS is in Portuguese, but translating, the error is something like: Unable to locate the entry point of the @System@Net@Urlclient@TAsyncReadStream@$bcctr@qqrv procedure in the dynamic link library - Delphi 11.0

I compiled the plugin using my IDE and everything worked as expected, so I believe the problem is the compatibility of the precompiled plugin with the version of my IDE.

Steps to reproduce

Install precompiled DelphiLint v1.1.1 in Delphi 11.0 Version 28.0.42600.6491.

Minimal Delphi code exhibiting the issue

N/A

fourls commented 3 weeks ago

Hi @denieu! Thanks for raising this issue.

The precompiled binaries are compiled with Delphi 11.2, so it definitely seems like a compatibility problem between 11.2 and 11.0. This is frustrating since 11.2 and 11.0 can't be installed side-by-side, making it difficult to include both versions in our release process. This may take some time to set up - I wouldn't rely on precompiled 11.0 binaries being available anytime soon.

Although it's a bit more inconvenient, I'd recommend to keep compiling it yourself for now - as you say, DelphiLint does actually support 11.0 and will run fine if compiled with 11.0.

I'll leave this issue open as a reminder - would you be able to adjust the title to reflect that it's an issue with the precompiled bpls in the releases, rather than an incompatibility with DelphiLint itself?

denieu commented 2 weeks ago

I changed the issue title, as requested. For me it really isn't a problem to continue compiling manually, but I think it's worth adding a note in the project's README indicating this, as it's frustrating to install the pre-compiled plugin following the instructions and not be able to use it.

denieu commented 2 weeks ago

I created a PR adding a note about precompiled BPLs in the project's README.

PR: https://github.com/integrated-application-development/delphilint/pull/52