Jump to content
panie

On Delphi 10.4.1 the MMX Code Explorer is mostly dead/inactive when running Delphi debugger

Recommended Posts

MMX Code Explorer: Version 15.0.20.2385

Delphi IDE: Embarcadero Delphi  Version 10.4.1 / 27.0.38860.1461
Operating System: Windows 7 / Windows 8.1 / Windows 10

Severity: MAJOR

 

When running a debug session in Delphi 10.4.1, most of the MMX Code Explorer functionality is disabled/inactive.

 

o Start Delphi and create a small Windows VCL Application.

o Put a Breakpoint in the application (in a OnClick function or something).

o Run the application in the Delphi IDE debugger by pressing the F9 key in the IDE.

o Try klick on MMX -> Code Explorer -> ModelMaker Code Explorer in the IDE menu.

o Nothing happens!

o Try klick on MMX -> Source Indexer -> Show Source Indexer in the IDE menu.

o Nothing happens!

 

Sees something has become broken. Most of the MMX functionality seems to be in a

disable/hide mode when running the application in debug mode.

Share this post


Link to post

Weird - I have never seen this. A quick test didn't show this either. I will try on a clean Delphi installation later.

 

Meanwhile, can you try with a clean Debug Layout by deleting the Debug Layout.dst from %APPDATA%\Embarcadero\BDS\21.0\ ?

Share this post


Link to post

Can confirm it for Code Explorer (docked and undocked). Source Indexer will be displayed once,  afterwards it fails too. Debug Layout. has been deleted.before for testing again, same behavior.

Share this post


Link to post

As there must be a reason why it doesn't happen here: Any other non-standard plugins installed?

Share this post


Link to post

1) I have deleted the Debug Layout.~dst and Debug Layout.dst file. No change. in that MMX still disabled/inactive.

 

2) I also removed all other IDE plugins except MMX Code Explorer. No change in that MMX still disabled/inactive.

 

3) It seems to have nothing with if I have Code Explorer and/or Source Indexer docked or as normal modal dialogs in the Delphi IDE.

 

Can it be something similar to what I had with GExperts 1.3.16 which krashed alot when running i Delhi 10.4.1? Luckily there where a fix in the form of a new DLL to use specifically for Delphi 10.4.1.

 

 

PS. On the issue of crashes, I receive crashes when searching using Source Indexer in MMX. Something is not quite up to speed with this Delphi together with MMX.

Edited by panie

Share this post


Link to post

Do you get call stacks with the crashes? If so, I would provide a map file to get more information from it.

Share this post


Link to post

I got this crash on m Windows 7 machine.

 

Seems CnPack has something to do with it. I have installed CnPack version 1.2.0.1013_Unstable installed. Maybe there is some unstable code that drags down MMX Code Explorer too.


I got the crash when I double clicked on a found code row in the Source Indexer docked window to go to the correct row in the source file.

 

Access violation at address 50F48027 in module 'vcl270.bpl'. Read of address 00000005.
[50F48027]{vcl270.bpl  } Vcl.Styles.TCustomStyle.DoDrawElement (Line 1085, "Vcl.Styles.pas" + 7) + $1C
[50064109]{rtl270.bpl  } System.@InitializeRecord (Line 32563, "System.pas" + 33) + $14
[50CFBF66]{vcl270.bpl  } Vcl.Controls.TWinControl.DefaultHandler (Line 10465, "Vcl.Controls.pas" + 30) + $19
[50CFD0FB]{vcl270.bpl  } Vcl.Controls.TWinControl.WMMove (Line 10940, "Vcl.Controls.pas" + 3) + $2
[50CD0000]{vcl270.bpl  } Vcl.Graphics.TFont.GetHandle (Line 2687, "Vcl.Graphics.pas" + 85) + $1D
[2103FA16]{designide270.bpl} DeskUtil.SetFocusHook (Line 473, "DeskUtil.pas" + 4) + $C
[50DEE362]{vcl270.bpl  } Vcl.Themes.TCustomStyleServices.DrawElement (Line 2623, "Vcl.Themes.pas" + 1) + $11
[1362682C]{mmx_bds21.dll} Unknown function at __dbk_fcall_wrapper + $1D4E04
[13626944]{mmx_bds21.dll} Unknown function at __dbk_fcall_wrapper + $1D4F1C
[50CD1623]{vcl270.bpl  } Vcl.Graphics.TCanvas.MoveTo (Line 4004, "Vcl.Graphics.pas" + 2) + $8
[50D02963]{vcl270.bpl  } Vcl.Controls.TCustomControl.PaintWindow (Line 14396, "Vcl.Controls.pas" + 6) + $5
[50CFC021]{vcl270.bpl  } Vcl.Controls.TWinControl.PaintHandler (Line 10508, "Vcl.Controls.pas" + 4) + $14
[50CD6FA3]{vcl270.bpl  } Vcl.Graphics.FreeMemoryContexts (Line 7279, "Vcl.Graphics.pas" + 12) + $8
[50CFB3B0]{vcl270.bpl  } Vcl.Controls.TWinControl.MainWndProc (Line 10113, "Vcl.Controls.pas" + 3) + $6
[50CFB3C5]{vcl270.bpl  } Vcl.Controls.TWinControl.MainWndProc (Line 10116, "Vcl.Controls.pas" + 6) + $0
[50CFC978]{vcl270.bpl  } Vcl.Controls.TWinControl.WMPaint (Line 10711, "Vcl.Controls.pas" + 6) + $5
[114E22A5]{CnWizards_D104S.DLL} CnWizNotifier.IsMsgRegistered (Line 1941, "CnWizNotifier.pas" + 3) + $8
[114E230C]{CnWizards_D104S.DLL} CnWizNotifier.TCnWizNotifierServices.DoMsgHook$qqrp20System.Classes.TListt1p6HWND__rx24Winapi.Messages.TMessage (Line 1948, "CnWizNotifier.pas" + 1) + $19
[114E23BF]{CnWizards_D104S.DLL} CnWizNotifier.TCnWizNotifierServices.DoMsgHook$qqrp20System.Classes.TListt1p6HWND__rx24Winapi.Messages.TMessage (Line 1959, "CnWizNotifier.pas" + 12) + $15
[50D028FD]{vcl270.bpl  } Vcl.Controls.TCustomControl.WMPaint (Line 14385, "Vcl.Controls.pas" + 2) + $4
[50CF6F46]{vcl270.bpl  } Vcl.Controls.TControl.WndProc (Line 7480, "Vcl.Controls.pas" + 91) + $6
[5005A240]{rtl270.bpl  } System.@GetMem (Line 4840, "System.pas" + 20) + $0
[50061E16]{rtl270.bpl  } System.@NewUnicodeString (Line 25649, "System.pas" + 10) + $0
[500622B1]{rtl270.bpl  } System.@UStrAsg (Line 26639, "System.pas" + 19) + $0
[5005A25C]{rtl270.bpl  } System.@FreeMem (Line 4888, "System.pas" + 20) + $0
[50061F35]{rtl270.bpl  } System.@UStrArrayClr (Line 26018, "System.pas" + 16) + $0
[50CF8ADF]{vcl270.bpl  } Vcl.Controls.TControl.IsCustomStyleActive (Line 8526, "Vcl.Controls.pas" + 8) + $15
[50CFBE5B]{vcl270.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10424, "Vcl.Controls.pas" + 169) + $6
[50CF6B80]{vcl270.bpl  } Vcl.Controls.TControl.Perform (Line 7258, "Vcl.Controls.pas" + 10) + $8
[50CFC8AC]{vcl270.bpl  } Vcl.Controls.TWinControl.PaintTo (Line 10687, "Vcl.Controls.pas" + 43) + $D
[50D0254F]{vcl270.bpl  } Vcl.Controls.THintWindow.WMPrint (Line 14230, "Vcl.Controls.pas" + 1) + $9
[50CF6F46]{vcl270.bpl  } Vcl.Controls.TControl.WndProc (Line 7480, "Vcl.Controls.pas" + 91) + $6
[2103FA16]{designide270.bpl} DeskUtil.SetFocusHook (Line 473, "DeskUtil.pas" + 4) + $C
[5005A240]{rtl270.bpl  } System.@GetMem (Line 4840, "System.pas" + 20) + $0
[50061E16]{rtl270.bpl  } System.@NewUnicodeString (Line 25649, "System.pas" + 10) + $0
[500622B1]{rtl270.bpl  } System.@UStrAsg (Line 26639, "System.pas" + 19) + $0
[5005A25C]{rtl270.bpl  } System.@FreeMem (Line 4888, "System.pas" + 20) + $0
[50061F35]{rtl270.bpl  } System.@UStrArrayClr (Line 26018, "System.pas" + 16) + $0
[50CF8ADF]{vcl270.bpl  } Vcl.Controls.TControl.IsCustomStyleActive (Line 8526, "Vcl.Controls.pas" + 8) + $15
[50CFBE5B]{vcl270.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10424, "Vcl.Controls.pas" + 169) + $6
[50CFB3B0]{vcl270.bpl  } Vcl.Controls.TWinControl.MainWndProc (Line 10113, "Vcl.Controls.pas" + 3) + $6
[50181450]{rtl270.bpl  } System.Classes.StdWndProc (Line 18021, "System.Classes.pas" + 8) + $0
[50D022C8]{vcl270.bpl  } Vcl.Controls.THintWindow.ActivateHint (Line 14181, "Vcl.Controls.pas" + 35) + $1B
[50D02337]{vcl270.bpl  } Vcl.Controls.THintWindow.ActivateHintData (Line 14194, "Vcl.Controls.pas" + 1) + $5
[50E5CBFD]{vcl270.bpl  } Vcl.Forms.TApplication.ActivateHint (Line 12104, "Vcl.Forms.pas" + 70) + $14
[50E5C555]{vcl270.bpl  } Vcl.Forms.TApplication.HintTimerExpired (Line 11835, "Vcl.Forms.pas" + 8) + $4
[50E58D5E]{vcl270.bpl  } Vcl.Forms.HintTimerProc (Line 9472, "Vcl.Forms.pas" + 3) + $5
[50E5B23F]{vcl270.bpl  } Vcl.Forms.TApplication.ProcessMessage (Line 11028, "Vcl.Forms.pas" + 23) + $1
[50E5B282]{vcl270.bpl  } Vcl.Forms.TApplication.HandleMessage (Line 11058, "Vcl.Forms.pas" + 1) + $4
[50E5B5B5]{vcl270.bpl  } Vcl.Forms.TApplication.Run (Line 11196, "Vcl.Forms.pas" + 26) + $3
[0051E178]{bds.exe     } bds.bds (Line 222, "" + 13) + $2

 

PS. If I get more crashes I will add them here. Maybe some of them will kindle some idea.

 

Share this post


Link to post

I have now removed CnPack and doing the same thing as before (just double clicked on a row in the Source Indexer docked window).

 

External exception C000001D

 

(0010872F){            } [0F48972F]
[50064109]{rtl270.bpl  } System.@InitializeRecord (Line 32563, "System.pas" + 33) + $14
[50F48027]{vcl270.bpl  } Vcl.Styles.TCustomStyle.DoDrawElement (Line 1085, "Vcl.Styles.pas" + 7) + $1C
[50CFA002]{vcl270.bpl  } Vcl.Controls.TWinControl.AlignControl (Line 9292, "Vcl.Controls.pas" + 9) + $A
[50CFA01F]{vcl270.bpl  } Vcl.Controls.TWinControl.AlignControl (Line 9295, "Vcl.Controls.pas" + 12) + $3
[500600BA]{rtl270.bpl  } System.@CallDynaInst (Line 18597, "System.pas" + 4) + $0
[50CFD0DE]{vcl270.bpl  } Vcl.Controls.TWinControl.WMSize (Line 10932, "Vcl.Controls.pas" + 20) + $6
[50CD0000]{vcl270.bpl  } Vcl.Graphics.TFont.GetHandle (Line 2687, "Vcl.Graphics.pas" + 85) + $1D
[50DEE362]{vcl270.bpl  } Vcl.Themes.TCustomStyleServices.DrawElement (Line 2623, "Vcl.Themes.pas" + 1) + $11
[1121682C]{mmx_bds21.dll} Unknown function at __dbk_fcall_wrapper + $1D4E04
[11216944]{mmx_bds21.dll} Unknown function at __dbk_fcall_wrapper + $1D4F1C
[50CD1623]{vcl270.bpl  } Vcl.Graphics.TCanvas.MoveTo (Line 4004, "Vcl.Graphics.pas" + 2) + $8
[50D02963]{vcl270.bpl  } Vcl.Controls.TCustomControl.PaintWindow (Line 14396, "Vcl.Controls.pas" + 6) + $5
[50CFC021]{vcl270.bpl  } Vcl.Controls.TWinControl.PaintHandler (Line 10508, "Vcl.Controls.pas" + 4) + $14
[50CD6FA3]{vcl270.bpl  } Vcl.Graphics.FreeMemoryContexts (Line 7279, "Vcl.Graphics.pas" + 12) + $8
[50CFB3B0]{vcl270.bpl  } Vcl.Controls.TWinControl.MainWndProc (Line 10113, "Vcl.Controls.pas" + 3) + $6
[50CFB3C5]{vcl270.bpl  } Vcl.Controls.TWinControl.MainWndProc (Line 10116, "Vcl.Controls.pas" + 6) + $0
[50CFC978]{vcl270.bpl  } Vcl.Controls.TWinControl.WMPaint (Line 10711, "Vcl.Controls.pas" + 6) + $5
[50D028FD]{vcl270.bpl  } Vcl.Controls.TCustomControl.WMPaint (Line 14385, "Vcl.Controls.pas" + 2) + $4
[50CF6F46]{vcl270.bpl  } Vcl.Controls.TControl.WndProc (Line 7480, "Vcl.Controls.pas" + 91) + $6
[5005A240]{rtl270.bpl  } System.@GetMem (Line 4840, "System.pas" + 20) + $0
[50061E16]{rtl270.bpl  } System.@NewUnicodeString (Line 25649, "System.pas" + 10) + $0
[500622B1]{rtl270.bpl  } System.@UStrAsg (Line 26639, "System.pas" + 19) + $0
[5005A25C]{rtl270.bpl  } System.@FreeMem (Line 4888, "System.pas" + 20) + $0
[50061F35]{rtl270.bpl  } System.@UStrArrayClr (Line 26018, "System.pas" + 16) + $0
[50CF8ADF]{vcl270.bpl  } Vcl.Controls.TControl.IsCustomStyleActive (Line 8526, "Vcl.Controls.pas" + 8) + $15
[50CFBE5B]{vcl270.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10424, "Vcl.Controls.pas" + 169) + $6
[50CF6B80]{vcl270.bpl  } Vcl.Controls.TControl.Perform (Line 7258, "Vcl.Controls.pas" + 10) + $8
[50CFC8AC]{vcl270.bpl  } Vcl.Controls.TWinControl.PaintTo (Line 10687, "Vcl.Controls.pas" + 43) + $D
[50D0254F]{vcl270.bpl  } Vcl.Controls.THintWindow.WMPrint (Line 14230, "Vcl.Controls.pas" + 1) + $9
[50CF6F46]{vcl270.bpl  } Vcl.Controls.TControl.WndProc (Line 7480, "Vcl.Controls.pas" + 91) + $6
[5005A240]{rtl270.bpl  } System.@GetMem (Line 4840, "System.pas" + 20) + $0
[50061E16]{rtl270.bpl  } System.@NewUnicodeString (Line 25649, "System.pas" + 10) + $0
[500622B1]{rtl270.bpl  } System.@UStrAsg (Line 26639, "System.pas" + 19) + $0
[5005A25C]{rtl270.bpl  } System.@FreeMem (Line 4888, "System.pas" + 20) + $0
[50061F35]{rtl270.bpl  } System.@UStrArrayClr (Line 26018, "System.pas" + 16) + $0
[50CF8ADF]{vcl270.bpl  } Vcl.Controls.TControl.IsCustomStyleActive (Line 8526, "Vcl.Controls.pas" + 8) + $15
[50CFBE5B]{vcl270.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10424, "Vcl.Controls.pas" + 169) + $6
[2103FA16]{designide270.bpl} DeskUtil.SetFocusHook (Line 473, "DeskUtil.pas" + 4) + $C
[50CFB3B0]{vcl270.bpl  } Vcl.Controls.TWinControl.MainWndProc (Line 10113, "Vcl.Controls.pas" + 3) + $6
[50181450]{rtl270.bpl  } System.Classes.StdWndProc (Line 18021, "System.Classes.pas" + 8) + $0
[50D022C8]{vcl270.bpl  } Vcl.Controls.THintWindow.ActivateHint (Line 14181, "Vcl.Controls.pas" + 35) + $1B
[50D02337]{vcl270.bpl  } Vcl.Controls.THintWindow.ActivateHintData (Line 14194, "Vcl.Controls.pas" + 1) + $5
[50E5CBFD]{vcl270.bpl  } Vcl.Forms.TApplication.ActivateHint (Line 12104, "Vcl.Forms.pas" + 70) + $14
[50E5C555]{vcl270.bpl  } Vcl.Forms.TApplication.HintTimerExpired (Line 11835, "Vcl.Forms.pas" + 8) + $4
[50E58D5E]{vcl270.bpl  } Vcl.Forms.HintTimerProc (Line 9472, "Vcl.Forms.pas" + 3) + $5
[50E5B23F]{vcl270.bpl  } Vcl.Forms.TApplication.ProcessMessage (Line 11028, "Vcl.Forms.pas" + 23) + $1
[50E5B282]{vcl270.bpl  } Vcl.Forms.TApplication.HandleMessage (Line 11058, "Vcl.Forms.pas" + 1) + $4
[50E5B5B5]{vcl270.bpl  } Vcl.Forms.TApplication.Run (Line 11196, "Vcl.Forms.pas" + 26) + $3
[0051E178]{bds.exe     } bds.bds (Line 222, "" + 13) + $2

 

 

PS. Without the CnPack installed my feeling is that MMX got much more stable.

 

Share this post


Link to post

Are there som switch I can turn on in the MMX Code Explorer so logging will occur. This so that I can help in the

search for why the MMX Code Explorer seems "dead" when I debug a Delphi program?

 

Share this post


Link to post

Source indexer doesn't work here (not shown when asked). Never noticed it is when debug layout is active.

I have a basic setup with MMX being the only add-on.

 

Share this post


Link to post

I have uploaded a new version, which is identical to that I am working with in the moment. In addition I have attached a map file for the 10.4 instance of this MMX version. Place the map file next to the MMX_BDS21.dll. This will give some more verbose call stack for the MMX part.

 

The problem about empty floating windows is reported from others, too. Currently I have no idea what could be the cause, so we have to investigate further. Fortunately I can somehow force this problem to appear, when I create a layout where the MMX windows are undocked. Starting a debug session with closing those windows and opening them again after debugging actually shows these empty windows. At least that is a point where I can start.

 

Just checked, it works perfectly with 10.3.3 :classic_rolleyes:

MMX_BDS21.map

Edited by Uwe Raabe

Share this post


Link to post

Does it work if I run the installer on top of the previous installed MMS ?

 

Before I have usually unstalled MMX followed by a fresh new installation. But then I have to configure the MMX again.

 

Share this post


Link to post

As long as you choose the same setup mode (for me only / for all users) as before there should be no problem. The setup will detect the previous installation and replace the files without manipulating your settings. If that isn't the case with your installation, please contact me so we can find the cause.

Share this post


Link to post

I have no tried out the new version 15.0.27, and it's a BIG improvement !! :classic_biggrin:

 

I have had a blank docked MMX Code Explorer window a few times, but it redraws itself if I switch back and forth among the other docked windows.

 

Now I can use the Source Indexer function without any crashing too.

Share this post


Link to post
14 hours ago, Uwe Raabe said:

A fixed version V15.0.27 is available.

Installed. Up to now source indexer works as expected. Thanks.

btw: I almost use only the source indexer.

Share this post


Link to post

I'm running with the new version 15.0.27 with only MMX Code Explorer active. I have also copied in the MMX_BDS21.map file.

 

Got the following error when clicking on a row in the Source Indexer window.

 

Access violation at address 104EED77. Read of address 3051B6F2

(0009DD77){            } [104EED77]
[50F48027]{vcl270.bpl  } Vcl.Styles.TCustomStyle.DoDrawElement (Line 1085, "Vcl.Styles.pas" + 7) + $1C
[5006016B]{rtl270.bpl  } System.TObject.Dispatch (Line 18811, "System.pas" + 11) + $0
[50061E16]{rtl270.bpl  } System.@NewUnicodeString (Line 25649, "System.pas" + 10) + $0
[500622B1]{rtl270.bpl  } System.@UStrAsg (Line 26639, "System.pas" + 19) + $0
[5005A25C]{rtl270.bpl  } System.@FreeMem (Line 4888, "System.pas" + 20) + $0
[50061F35]{rtl270.bpl  } System.@UStrArrayClr (Line 26018, "System.pas" + 16) + $0
[50064109]{rtl270.bpl  } System.@InitializeRecord (Line 32563, "System.pas" + 33) + $14
[50F48027]{vcl270.bpl  } Vcl.Styles.TCustomStyle.DoDrawElement (Line 1085, "Vcl.Styles.pas" + 7) + $1C
[50CD0A63]{vcl270.bpl  } Vcl.Graphics.TBrush.GetHandle (Line 3579, "Vcl.Graphics.pas" + 63) + $F
[50DEE362]{vcl270.bpl  } Vcl.Themes.TCustomStyleServices.DrawElement (Line 2623, "Vcl.Themes.pas" + 1) + $11
[12F86CC4]{mmx_bds21.dll} VirtualTrees.TVirtualTreeHintWindow.CalcHintRect (Line 5706, "VirtualTrees.pas" + 71) + $10
[50CD1623]{vcl270.bpl  } Vcl.Graphics.TCanvas.MoveTo (Line 4004, "Vcl.Graphics.pas" + 2) + $8
[50D02963]{vcl270.bpl  } Vcl.Controls.TCustomControl.PaintWindow (Line 14396, "Vcl.Controls.pas" + 6) + $5
[50CFC021]{vcl270.bpl  } Vcl.Controls.TWinControl.PaintHandler (Line 10508, "Vcl.Controls.pas" + 4) + $14
[50CFC978]{vcl270.bpl  } Vcl.Controls.TWinControl.WMPaint (Line 10711, "Vcl.Controls.pas" + 6) + $5
[50D028FD]{vcl270.bpl  } Vcl.Controls.TCustomControl.WMPaint (Line 14385, "Vcl.Controls.pas" + 2) + $4
[50CF6F46]{vcl270.bpl  } Vcl.Controls.TControl.WndProc (Line 7480, "Vcl.Controls.pas" + 91) + $6
[50CFB5A4]{vcl270.bpl  } Vcl.Controls.TWinControl.ControlAtPos (Line 10168, "Vcl.Controls.pas" + 1) + $4
[50CFB615]{vcl270.bpl  } Vcl.Controls.TWinControl.IsControlMouseMsg (Line 10184, "Vcl.Controls.pas" + 9) + $2A
[50CF3780]{vcl270.bpl  } Vcl.Controls.FindDragTarget (Line 5030, "Vcl.Controls.pas" + 6) + $1B
[50CFBE5B]{vcl270.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10424, "Vcl.Controls.pas" + 169) + $6
[12F8E9D3]{mmx_bds21.dll} VirtualTrees.TVTHeader.PrepareDrag (Line 10883, "VirtualTrees.pas" + 17) + $F
[5005A240]{rtl270.bpl  } System.@GetMem (Line 4840, "System.pas" + 20) + $0
[50061E16]{rtl270.bpl  } System.@NewUnicodeString (Line 25649, "System.pas" + 10) + $0
[500622B1]{rtl270.bpl  } System.@UStrAsg (Line 26639, "System.pas" + 19) + $0
[5005A25C]{rtl270.bpl  } System.@FreeMem (Line 4888, "System.pas" + 20) + $0
[50061F35]{rtl270.bpl  } System.@UStrArrayClr (Line 26018, "System.pas" + 16) + $0
[50CF8ADF]{vcl270.bpl  } Vcl.Controls.TControl.IsCustomStyleActive (Line 8526, "Vcl.Controls.pas" + 8) + $15
[50CFBE5B]{vcl270.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10424, "Vcl.Controls.pas" + 169) + $6
[50CFB3B0]{vcl270.bpl  } Vcl.Controls.TWinControl.MainWndProc (Line 10113, "Vcl.Controls.pas" + 3) + $6
[50181450]{rtl270.bpl  } System.Classes.StdWndProc (Line 18021, "System.Classes.pas" + 8) + $0
[50E5B23F]{vcl270.bpl  } Vcl.Forms.TApplication.ProcessMessage (Line 11028, "Vcl.Forms.pas" + 23) + $1
[50E5B282]{vcl270.bpl  } Vcl.Forms.TApplication.HandleMessage (Line 11058, "Vcl.Forms.pas" + 1) + $4
[50E5B5B5]{vcl270.bpl  } Vcl.Forms.TApplication.Run (Line 11196, "Vcl.Forms.pas" + 26) + $3
[0051E178]{bds.exe     } bds.bds (Line 222, "" + 13) + $2

 

PS. I have received a couple of error messages like the one above. Takes more trying (but not that much more) than in the old version.

 

PPS. On the issue of receiving blank docked MMX tool windows, I get the same blank windows fo GExperts too.

 

Share this post


Link to post

That callstack doesn't make any sense at all. Both mentions of MMX are from VirtualTrees. The corresponding line 10883 says 

    Canvas.FillRect(Rect(0, 0, Width, Height));

Even as weird for the other one. Line 5706 says

Result := Tree.GetDisplayRect(Node, Column, True, False);

Nothing looks like it may end up in a call stack as shown.

 

I can update to a newer VirtualTrees version and see if that helps.

 

BTW, the blank window issue is a 10.4.1 thing.

Share this post


Link to post

Fingers crossed.

 

Let me know if you have a test DLL file tha you want me to help with testing.

 

Share this post


Link to post

Wait a minute. The map file I attached before belongs to the previous version. Can you try again with the correct map file attached here, please?

 

I will see if I can include the map files in the setup.

MMX_BDS21.map

Edited by Uwe Raabe

Share this post


Link to post

There is a new version available where VirtualTrees is upgraded to a more recent version. There were a lot of things to adjust as MMX made some changes to VirtualTrees which had to be reworked a bit.

Share this post


Link to post
15 minutes ago, FPiette said:

Wouldn't be interesting to update VirtualTrees source code at https://github.com/JAM-Software/Virtual-TreeView ?

 

I already thought of that, but most of the changes are needed to make the control compatible with the IDE styling. That is probably of less interest to the public. Nevertheless, I will see how this might be integrated with minimal footprint.

Share this post


Link to post
42 minutes ago, Uwe Raabe said:

make the control compatible with the IDE styling. That is probably of less interest to the public.

I'm sure everyone will love to have a styled VirtualTree!

 

Share this post


Link to post

The current VirtualTree already supports VCL styling. I am talking about IDE styling for IDE plugins, which is somewhat different to the normal VCL styling.

 

On the other hand I just noticed that the latest version still doesn't support per control styling. That would make a good kludge I could contribute.

  • 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
×