Jump to content

Bill Meyer

Members
  • Content Count

    26
  • Joined

  • Last visited

  • Days Won

    1

Bill Meyer last won the day on December 29 2018

Bill Meyer had the most liked content!

Community Reputation

8 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. There have been a number of components which attempted to address this issue, but none of them worked very well, in my experience. To be fair, the problem is not in the component design, but in the reality that integer points makes font scaling impractical. If we had font sizes -- and scaling -- in floating point values, then scaling would be straightforward. With integer font sizes, we have proportionally large incremental change at the small sizes, and proportionally small incremental changes at large font sizes.
  2. Bill Meyer

    How to check if parent menu item has "checked" child item?

    The compiler encourages that mix, as it warns of the Result not having been initialized otherwise.
  3. Bill Meyer

    Recovering older version installation

    Perfect, thanks!
  4. I had MMX 12.3 installed in XE7, and later installed 13.0.2. Because of the errors on reports issue I already reported, I am wondering whether there is a way to make the 12.3 installation active again, or is that only possible through a new installation? I've recently moved, and my 12.3 installable is on a machine which is still not set up. Thanks.
  5. Bill Meyer

    Error in Dependencies Tool

    I discovered an error this morning in MMX in D2007. The project is large, with many unit dependency issues. When I open the tool, and then on the menu, select either the Uses Report or the Cycles Report, I get an error, with these details: (000159A9){mmx_bds5.dll} [0BE769A9] [2013C130]{vcl100.bpl } Controls.TControl.DoConstrainedResize (Line 5002, "Controls.pas" + 18) + $14 [201406A7]{vcl100.bpl } Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6 [2013CBF7]{vcl100.bpl } Controls.TControl.CheckNewSize (Line 5291, "Controls.pas" + 4) + $8 [042B5275]{DelphiSpeedUp105.dll} SystemOptimize.DMTSearch (Line 198, "SystemOptimize.pas" + 4) + $7 [042B52B6]{DelphiSpeedUp105.dll} SystemOptimize.GetDynaMethod (Line 236, "SystemOptimize.pas" + 20) + $0 (0011748B){mmx_bds5.dll} [0BF7848B] (001174E1){mmx_bds5.dll} [0BF784E1] [2013CA2C]{vcl100.bpl } Controls.TControl.Click (Line 5229, "Controls.pas" + 9) + $8 [200FCD8B]{vcl100.bpl } StdCtrls.TRadioButton.SetChecked (Line 4048, "StdCtrls.pas" + 11) + $13 (00117000){mmx_bds5.dll} [0BF78000] [20158AC9]{vcl100.bpl } Forms.TCustomForm.DoCreate (Line 2947, "Forms.pas" + 3) + $C [201586A8]{vcl100.bpl } Forms.TCustomForm.Create (Line 2856, "Forms.pas" + 13) + $11 [201586C4]{vcl100.bpl } Forms.TCustomForm.Create (Line 2859, "Forms.pas" + 16) + $9 (00210DE1){mmx_bds5.dll} [0C071DE1] [200EF966]{vcl100.bpl } CommCtrl.ListView_GetNextItem (Line 10154, "win\CommCtrl.pas" + 0) + $E [20199985]{vcl100.bpl } ComCtrls.TCustomListView.GetNextItem (Line 15837, "ComCtrls.pas" + 18) + $B (0011786B){mmx_bds5.dll} [0BF7886B] [201D1BCE]{vcl100.bpl } AppEvnts.TMultiCaster.DoActionExecute (Line 356, "appevnts.pas" + 5) + $E (001D4C0A){mmx_bds5.dll} [0C035C0A] (001D4D42){mmx_bds5.dll} [0C035D42] [2004018B]{rtl100.bpl } Classes.TBasicAction.Execute (Line 11081, "common\Classes.pas" + 3) + $7 [20151359]{vcl100.bpl } ActnList.TContainedAction.Execute (Line 388, "ActnList.pas" + 1) + $2C [201520BC]{vcl100.bpl } ActnList.TCustomAction.Execute (Line 1000, "ActnList.pas" + 7) + $8 [20040057]{rtl100.bpl } Classes.TBasicActionLink.Execute (Line 11010, "common\Classes.pas" + 2) + $7 (0003C041){mmx_bds5.dll} [0BE9D041] (0003BF43){mmx_bds5.dll} [0BE9CF43] [20040E4C]{rtl100.bpl } Classes.StdWndProc (Line 11583, "common\Classes.pas" + 😎 + $0 [201625F0]{vcl100.bpl } Forms.TApplication.ProcessMessage (Line 8105, "Forms.pas" + 23) + $1 [2016262A]{vcl100.bpl } Forms.TApplication.HandleMessage (Line 8124, "Forms.pas" + 1) + $4 [2016291F]{vcl100.bpl } Forms.TApplication.Run (Line 8223, "Forms.pas" + 20) + $3 (00003312){IDEFixPack.dll} [07D64312] [0042297A]{bds.exe } bds.bds (Line 195, "" + 7) + $7 On further testing, I get the same sort of error in XE7 with a project which is much cleaner. This report: (0001A0C1){mmx_bds15.dll} [1452B0C1] [505A0667]{vcl210.bpl } Vcl.Graphics.TCanvas.RequiredState (Line 4199, "Vcl.Graphics.pas" + 12) + $7 [505E25BE]{vcl210.bpl } Vcl.StdCtrls.TCustomLabel.DoDrawThemeTextEx (Line 2200, "Vcl.StdCtrls.pas" + 9) + $3D [505C27C5]{vcl210.bpl } Vcl.Controls.TControl.DoConstrainedResize (Line 6985, "Vcl.Controls.pas" + 18) + $16 [26815C17]{WO_Common_DXE7.bpl} Dchook.TCustomActiveNotifier.HookProc + $66F [26815D70]{WO_Common_DXE7.bpl} Dchook.TCustomActiveNotifier.HookProc + $7C8 [268160DE]{WO_Common_DXE7.bpl} Dchook.dcRemoveFreeNotification + $212 [2C435170]{WO_LMD_RXE7.bpl} Lmdsctmemmgr.InternalObjectWrapped + $CC [50059C58]{rtl210.bpl } System.@FreeMem (Line 4439, "System.pas" + 20) + $0 [5006132C]{rtl210.bpl } System.@UStrClr (Line 24117, "System.pas" + 14) + $0 [50063678]{rtl210.bpl } System.@FinalizeArray (Line 31376, "System.pas" + 80) + $0 [26815C17]{WO_Common_DXE7.bpl} Dchook.TCustomActiveNotifier.HookProc + $66F [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038, "Vcl.Controls.pas" + 153) + $6 [2C435170]{WO_LMD_RXE7.bpl} Lmdsctmemmgr.InternalObjectWrapped + $CC [50059C58]{rtl210.bpl } System.@FreeMem (Line 4439, "System.pas" + 20) + $0 [50064A77]{rtl210.bpl } System.@DynArrayClear (Line 34176, "System.pas" + 49) + $0 [50064740]{rtl210.bpl } System.DynArraySetLength (Line 33858, "System.pas" + 9) + $6 [505E7C20]{vcl210.bpl } Vcl.StdCtrls.TButtonControl.WndProc (Line 5163, "Vcl.StdCtrls.pas" + 13) + $4 [505C2850]{vcl210.bpl } Vcl.Controls.TControl.Perform (Line 7010, "Vcl.Controls.pas" + 10) + $8 (0014B39F){mmx_bds15.dll} [1465C39F] (0014B3F5){mmx_bds15.dll} [1465C3F5] [505C3183]{vcl210.bpl } Vcl.Controls.TControl.Click (Line 7348, "Vcl.Controls.pas" + 9) + $8 [505E98AB]{vcl210.bpl } Vcl.StdCtrls.TRadioButton.SetChecked (Line 6205, "Vcl.StdCtrls.pas" + 11) + $13 (0014AEF0){mmx_bds15.dll} [1465BEF0] [5070BB89]{vcl210.bpl } Vcl.Forms.TCustomForm.DoCreate (Line 3746, "Vcl.Forms.pas" + 3) + $C [5070B6E1]{vcl210.bpl } Vcl.Forms.TCustomForm.Create (Line 3609, "Vcl.Forms.pas" + 25) + $5 (0014B78F){mmx_bds15.dll} [1465C78F] [50776B56]{vcl210.bpl } Vcl.AppEvnts.TMultiCaster.DoActionExecute (Line 390, "Vcl.AppEvnts.pas" + 5) + $A (00234066){mmx_bds15.dll} [14745066] (00234ED2){mmx_bds15.dll} [14745ED2] [5016D517]{rtl210.bpl } System.Classes.TBasicAction.Execute (Line 16099, "System.Classes.pas" + 3) + $3 [505AC25A]{vcl210.bpl } Vcl.ActnList.TCustomAction.Execute (Line 259, "Vcl.ActnList.pas" + 19) + $35 [0B6A7E26]{IDEFixPack.dll} RefactoringActionUpdateFix.CustomActionExecute + $22 [5016D39B]{rtl210.bpl } System.Classes.TBasicActionLink.Execute (Line 16010, "System.Classes.pas" + 2) + $3 (00047E2C){mmx_bds15.dll} [14558E2C] (00047D1F){mmx_bds15.dll} [14558D1F] [5016E20C]{rtl210.bpl } System.Classes.StdWndProc (Line 16598, "System.Classes.pas" + 6) + $1 [5071634F]{vcl210.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 10349, "Vcl.Forms.pas" + 23) + $1 [50716392]{vcl210.bpl } Vcl.Forms.TApplication.HandleMessage (Line 10379, "Vcl.Forms.pas" + 1) + $4 [507166C5]{vcl210.bpl } Vcl.Forms.TApplication.Run (Line 10517, "Vcl.Forms.pas" + 26) + $3 I do appreciate the "lazy" analysis in the most recent version, as it used to take 20+ minutes to produce the analysis before. I expect much the same, if I ask for a report in this version, but for interactive exploration, the lazy analysis is very nice., Thanks, Bill
  6. And after all these years, the chances seem slim.
  7. Not with such massive unit dependency cycle issues, which are known to cripple the IDE.
  8. Bill Meyer

    My first Delphi 10.3 impressions

    I agree completely. That said, they require significant work to remove. And though MMX can present reports on the problem, I am still looking for anything which can simplify the task of identifying the worst offenders. (Yes, it matters, as the full report is a bit overwhelming in this case.)
  9. Bill Meyer

    My first Delphi 10.3 impressions

    Your opening comment is very disappointing, given that my first impression of 10.2.3 is that the IDE is slow and flickers obnoxiously. I'm not a fan of themes, so the "solution" is one I can welcome. Is the IDE now perhaps all done with DevExpress controls with skinning? (Just asking...) Successively longer compile times is another disappointment, but having spent weeks now in moving legacy code into XE7 -- where it cannot build, except through the external build process -- has mad me much more sensitive to the numerous defects in the IDE. And I have turned off almost everything that in interactive in the IDE, in the hope of reducing the problem. I will mention, however, that some of your comments lead me to wonder whether your project is free of unit dependency cycles. Mine is not, and I know too well that those cycles lead to many problems. The "stuck" compiler is one of the symptoms I have seen.
  10. Bill Meyer

    GetIt pkg mgr problems

    Yes, I read your original post. So as I understand it, then, the problem with GetIt makes Tokyo unusable? I did have a similar problem with Tokyo in a VM a couple of months ago. Did the uninstall/reinstall dance, and then it worked. I have my own concerns about Tokyo, but GetIt is not chief among them. That is why I asked.
  11. Bill Meyer

    New in 10.3: IDE UI Improvements in the Main Window

    And historically, some pretty bad parts, it seems.
  12. Bill Meyer

    GetIt pkg mgr problems

    Care to elaborate on that? I have not seen any such disparaging comments before now.
  13. Quite a few years ago, Jack Crenshaw wrote a series of articles on how to build a simple compiler. He wrote in TP, and develops the whole thing step by step. It is a recursive descent compiler, and originally emitted assembly code for a Motorola 68000. The articles have been further developed over the years, and the target altered to the 80x86. The value is simply that he wrote this for people who are not writing a compiler professionally, but who wish to learn the mechanics of compiling code. The writing is clear, and the whole development easy to follow. The articles can be found here: http://www.pp4s.co.uk/main/tu-trans-comp-jc-intro.html
  14. Which code? You posted code for use in a package. I am now scanning the registry, and collecting from there with my own code, which works fine, though there are a few idiosyncrasies in the lists there. The point of my last post, though, was that although the registry scan is convenient, it is specific right now to XE7. And given the minor irregularities I have found in the entries there, it seems reasonable to anticipate irregularities in other versions, whether the same or different to these. In D2007, however, I find no evidence of installed components in the registry, so in the end, the ToolsAPI may be the only reliable approach.
×