Jump to content
Brandon Staggs

Delphi 11.2 unofficial LSP patch

Recommended Posts

Saw this blog post today:

 

https://www.ideasawakened.com/post/unofficial-delphi-lsp-fix-for-11-2-is-now-available

 

I grabbed the updated DLLs and LSP exe from the links and sure enough it seems to be working much better now. The files are dated Jan 10 so I suppose these are part of the current beta as well. No NDA issues here since Embarcadero posted the files right into the issue tracker and is asking for feedback in the RSP.

 

https://quality.embarcadero.com/browse/RSP-39812

  • Like 1

Share this post


Link to post

Although, take care, David Millington commented on that blog post warning it should not be used to build anything that will go out to a customer...

Share this post


Link to post

It's definitely a beta quality update and not intended for widespread use, but the more feedback they get the better.   This has been such an annoying issue...

Share this post


Link to post

Did anyone try this for longer already? I'm a bit worried because of the "do not use in production" thing and I can not decide if it's only the mandatory warning or it indeed can mess something up badly.

Share this post


Link to post

I've been using it since I posted the link. Seems to work fine and the IDE is back to working well enough that I forgot I had installed the patch! However I will be removing it before building any production code. I am using it temporarily as a way to increase my productivity to where it was before installing 11.2.

Share this post


Link to post

Does anybody know whether this patch also affects commandline builds?

For me it would be a huge inconvenience to be forced to uninstall the patch every time I want to do a production build. But having a better working less broken IDE is definitely desirable.

Share this post


Link to post
50 minutes ago, dummzeuch said:

Does anybody know whether this patch also affects commandline builds?

As it replaces dcc32280.dll and dcc64280.dll, which are used by DelphiLSP, the command line compilers stay the same and are not be affected.

Share this post


Link to post

Then I can't get why this "do not use in production" warning. IDE has no relation to "production". Or they mean main dev environment?

Share this post


Link to post

Any company would add such a disclaimer when releasing unofficial "patches".

It means: If it didn't work, don't blame us.

  • Like 3

Share this post


Link to post
3 hours ago, Stefan Glienke said:

Why would LSPServer affect anything that dcc32/64 do?

For all I know about that patch it might replace a dll that the commandline compiler uses.

Share this post


Link to post
50 minutes ago, Fr0sT.Brutal said:

Then I can't get why this "do not use in production" warning. IDE has no relation to "production". Or they mean main dev environment?

What they mean is "Don't use a patched IDE to produce anything (DLL, Exe, DCUs, BPLs whatever) that's going to be used in production".

Share this post


Link to post
3 hours ago, Uwe Raabe said:

As it replaces dcc32280.dll and dcc64280.dll, which are used by DelphiLSP, the command line compilers stay the same and are not be affected.

And those command line compilers do not use the dccxxxx.dll files?

Share this post


Link to post
45 minutes ago, dummzeuch said:

And those command line compilers do not use the dccxxxx.dll files?

No. AFAIK it uses (besides some Windows core DLLs of course) only RLink32.dll and perhaps borlandmm.dll.

Share this post


Link to post
7 hours ago, Stefan Glienke said:

Why would LSPServer affect anything that dcc32/64 do?

The patch replaces dlls. Since I do not know for sure who uses those DLLs, and they are saying not to use Delphi to build stuff for consumers with this patch installed, I'll be playing it safe. But if we can know for sure that those DLLs are only used by LSP, then I guess the warnings from Embarcadero are just overkill CYA.

Share this post


Link to post

FWIW, I have tried the unofficial LSP patches and I could no longer debug programs.   So I went back to the original dlls and debugging was available again.   

  • Like 1
  • Thanks 1

Share this post


Link to post
28 minutes ago, pyscripter said:

FWIW, I have tried the unofficial LSP patches and I could no longer debug programs.   So I went back to the original dlls and debugging was available again.   

All my breakpoints just become unavailable (like code never gets executed in that function), did you meet the same issue?

Share this post


Link to post
1 minute ago, aehimself said:

All my breakpoints just become unavailable (like code never gets executed in that function), did you meet the same issue?

Yes.

Share this post


Link to post

I can confirm. Rolling back the patch and my breakpoints are good as new on Win64 platform.

Share this post


Link to post

Debugging works fine for 32-bit but not 64-bit.

Share this post


Link to post

I honestly can not understand this patch. After reverting back to the original files and reapplying it, breakpoints work fine on 64 bit as well, even in a new method of an unsaved unit...

Edited by aehimself

Share this post


Link to post
1 hour ago, aehimself said:

I honestly can not understand this patch. After reverting back to the original files and reapplying it, breakpoints work fine on 64 bit as well, even in a new method of an unsaved unit...

Very strange. I take it that you just copied the contents of both zips to the bin folder!

Share this post


Link to post
5 hours ago, KenR said:

Very strange. I take it that you just copied the contents of both zips to the bin folder!

My process:

- Install 11.2 and use it

- Rename 4 affected files to *.*.original

- Unzip both unofficial fixes to \bin folder

- Try to use it, breakpoints broken, so

- Rename patched files to *.*.patched, rename *.*.original to *.* and use it

- Since 32 bit is working and DelphiLSP.exe is a part of the 32 bit version, I decided to use 32 bit version only. Rename those files to .original, rename .patched to normal

- Breakpoints working, so I start to wonder and do the same with 64bit

- Confused as hell, as it's working...?!

 

Share this post


Link to post

Important hint regarding LSP

 

Yesterday I noticed that with both Delphi 10.4 and Delphi 11, an invalid path reliably knocks out the LSP. (Yes, this is reported and goes its way).

 

This invalid path can be at least in the system PATH, the library path and unfortunately already simply the search path. You can easily test this yourself by entering a non-existent path there and restart Delphi. Important: If you correct it, you may have to restart Windows. For some reason it is not always enough to restart Delphi and the DelphiLSP.exe (even if the system PATH is not changed). I haven't looked into that yet and it doesn't always happen.

Edited by jaenicke
  • Thanks 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×