Jump to content

Rickard Johansson

Members
  • Content Count

    16
  • Joined

  • Last visited

Posts posted by Rickard Johansson


  1. Using the language server from v11.1 in v11.2 works fine. It may require a bit of work. But if you have a VM or an old unused laptop - install v11.1 and copy the "c:\Program Files (x86)\Embarcadero\Studio\22.0\bin\DelphiLSP.exe" to the 11.2 installation.

     

    Help insight wont work, but everything else does. It may take a while for Embarcadero to fix the LSP issue, so it really is worth the trouble...  

    • Like 1

  2. This component was created for use in RJ TextEd to add language server support. It has been tested with several language servers https://www.rj-texted.se/Forum/viewforum.php?f=23.

     

    The client and code is available on GitHub https://github.com/rickard67/LSP-Pascal-Library

     

    The LSP client was written to make communication with language servers easier. You can use the client to read or send notifications and requests to and from the server. Handle notifications and request from the server using events.

     

    The client component support both stdio and tcp/ip socket communication.

     

    The client only works in Delphi. I haven't had time to make it compatible with Lazarus/Free pascal yet.

    • Like 4
    • Thanks 2

  3. After some testing I finally found out why the IDE was behaving the way it did.

     

    Ever since I bought my 4K 32" screen I've been experimenting with different high DPI settings to make the development environment as pleasing to use as possible inside my VM. I ended up with using:

     

    Windows scale setting: 150%

    High DPI scale scaling override: Application

     

    I may have updated MMX to 15.0.32 at the same time. 

     

    Changing Windows scale to 100% seems to solve all issues. No more hangs, or strange refresh/resize issues, or strange large fonts in some settings pages. I can even run GExperts now (it crashed the IDE before after a few minutes)...

     


  4. 1. When using MMX 15.0.33 I tried creating a tab group with the MMX explorer panel and the structure panel, to test if I could reproduce the freeze when the MMX explorer panel was hidden behind the structure panel (structure tab selected). I couldn't. I just assumed it was because the panel was hidden. But maybe it worked because the panel was in a tab group? The changes between 15.0.32 and 15.0.30 include: "fix: sometimes a tabbed Explorer window was empty".

     

    2. I've only seen this issue when the explorer panel is docked and not in a tab group.

     

    3. When reverting back to 15.0.30 I noticed a difference in explorer panel updates. It seems quicker than in 15.0.33 when switching unit tabs (I'm using default delay settings).


  5. I think I have the same issue on Delphi 10.4 Update 1.

     

    I'm using a 32" 4K screen with both Structure and MMX panels visible. The IDE sometimes freeze when I change focus or press a tab to display another unit. When I hide the MMX panel I'm no longer able to reproduce the freeze.

     

    The IDE springs to life after a minute or so each time it happens.

     

    I tried to see what's going on using Process Explorer. I've posted a call stack below (it doesn't seem to be very helpful though...).

     

    It happened using MMX 15.0.32 as well.

     

    0x0000000000000000
    rtl270.bpl!@System@@BeforeDestruction$qqrxp14System@TObjectzc
    0x0000000000000000
    rtl270.bpl!@System@@BeforeDestruction$qqrxp14System@TObjectzc
    vcl270.bpl!@Vcl@Themes@StyleServices$qqrp21Vcl@Controls@TControl+0xf9
    vcl270.bpl!@Vcl@Themes@TStyleHook@StyleServices$qqrv+0x8
    vcl270.bpl!@Vcl@Themes@TStyleManager@HandleMessage$qqrp24Vcl@Controls@TWinControlr24Winapi@Messages@TMessageynpqqrr24Winapi@Messages@TMessage$v+0x56
    vcl270.bpl!@Vcl@Controls@TWinControl@DoHandleStyleMessage$qqrr24Winapi@Messages@TMessage+0x14
    vcl270.bpl!@Vcl@Comctrls@TToolBar@WndProc$qqrr24Winapi@Messages@TMessage+0x249
    vcl270.bpl!@Vcl@Controls@TControl@Perform$qqruiuii+0x27
    vcl270.bpl!@Vcl@Comctrls@TToolButton@CMEnabledChanged$qqrr24Winapi@Messages@TMessage+0x4b
    vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1
    vcl270.bpl!@Vcl@Controls@TControl@Perform$qqruiuii+0x27
    vcl270.bpl!@Vcl@Controls@TControl@SetEnabled$qqro+0x16
    vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5
    vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31
    vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78
    vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1
    vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b
    vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b
    vcl270.bpl!@Vcl@Comctrls@TToolBar@WrapButtons$qqrrit1+0x1cd
    vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5
    vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31
    vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78
    vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1
    vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b
    vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b
    vcl270.bpl!@Vcl@Comctrls@TToolBar@WrapButtons$qqrrit1+0x1cd
    vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5
    vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31
    vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78
    vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1
    vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b
    vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b
    vcl270.bpl!@Vcl@Comctrls@TToolBar@WrapButtons$qqrrit1+0x1cd
    vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5
    vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31
    vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78
    vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1
    vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b
    vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b
    vcl270.bpl!@Vcl@Comctrls@TToolBar@WrapButtons$qqrrit1+0x1cd
    vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5
    vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31
    vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78
    vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1
    vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b
    vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b
    vcl270.bpl!@Vcl@Comctrls@TToolBar@WrapButtons$qqrrit1+0x1cd
    vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5
    vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31
    vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78
    vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1
    vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b
    vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b
    vcl270.bpl!@Vcl@Comctrls@TToolBar@WrapButtons$qqrrit1+0x1cd
    vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5
    vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31
    vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78
    vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1
    vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b
    vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b
    vcl270.bpl!@Vcl@Comctrls@TToolBar@WrapButtons$qqrrit1+0x1cd
    vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5
    vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31
    vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78
    vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1
    vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b
    vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b
    vcl270.bpl!@Vcl@Comctrls@TToolBar@WrapButtons$qqrrit1+0x1cd
    vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5
    vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31
    vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78
    vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1
    vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b
    vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b
    vcl270.bpl!@Vcl@Comctrls@TToolBar@WrapButtons$qqrrit1+0x1cd
    vcl270.bpl!@Vcl@Comctrls@TToolBar@CanAutoSize$qqrrit1+0x5
    vcl270.bpl!@Vcl@Controls@TWinControl@AdjustSize$qqrv+0x31
    vcl270.bpl!@Vcl@Comctrls@TToolButton@CMVisibleChanged$qqrr24Winapi@Messages@TMessage+0x78
    vcl270.bpl!@Vcl@Controls@TControl@WndProc$qqrr24Winapi@Messages@TMessage+0x2c1
    vcl270.bpl!@Vcl@Controls@TControl@SetVisible$qqro+0x2b
    vcl270.bpl!@Vcl@Comctrls@TToolButton@SetButtonState$qqruc+0x35
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonState$qqri+0x2a
    vcl270.bpl!@Vcl@Comctrls@TToolBar@UpdateButtonStates$qqrv+0x3b

     


  6. 9 minutes ago, Uwe Raabe said:

    Took me a while to notice that I must not close the window with the cross button in the title to force that error.

    You're right. I just tried the close button and it does work. The window appear where it should now... 


  7. 1 hour ago, Uwe Raabe said:

    Can you give me detailed steps for that? A basic test just worked.

    1. Open a project in Delphi and only display the standard toolbar (hide entity insight toolbar).

    2. Search for a member using the search member edit box in the standard toolbar.

    3. Place the window where you like.

    4. Shut down and restart Delphi and reopen your project.

    5. Search for a member. The window doesn't appear where it's supposed to.

     

    Hope that helps.


  8. Just installed build 2343. I can confirm that most issues I reported have been fixed. Thank you.

     

    There are however still a few issues.

     

    1. I still see the "clBtnFace" color used as background for classes in the search member window.

     

    1427673974_MMX-SearchMember.png.a9584941c67ff6fff07afcee24504645.png

     

    2. The position of the search member window is not saved.

     

    3. I still can't open a Code Explorer window if I switch to debug layout.


  9. A few toolbar issues:

     

    1. The entity insight bar seems to occupy the top toolbar row. It doesn't matter if it's visible or not. See screenshots below.

    1577491456_MMX-EntityInsightBar1.thumb.png.ab0305ed3a3e50a1b1e4813fc374abfa.png

     

    1085803421_MMX-EntityInsightBar2.thumb.png.add84546fb490e861334dc928cab1c84.png

     

    2. The entity insight bar doesn't have a context menu and can't be customized.

    • Like 1

  10. Thanks. It looks much better now with theme support.

     

    I noticed a few issues though.

     

    1. Can only open one window of code explorer. So I can't open code explorer in debug mode if it's already opened in standard edit mode.

     

    2. Edit entity doesn't work for events, e.g. form events like FormCreate()... Not a big issue since you probably shouldn't change it anyway, but it used to work - right?

     

    3. You can customize toolbars but it's not saved. Or rather - some toolbar buttons appears where they should after restart and some buttons do not... And it seems some toolbar buttons are just added at the end of the toolbar, no matter what I do.

     

    4. Some theme glitches here and there.

    MMX options: Left side tree. The background color for each tree item is sometimes white (dark theme). And sometimes it looks fine.

    Search Members: Tree node line highlighting.

×