Jump to content

PeterPanettone

Members
  • Content Count

    1354
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by PeterPanettone

  1. When programming, I have often found that "thinking outside the box" sometimes leads to an unexpected and accurate solution.
  2. Maybe the story is COMPLETELY DIFFERENT - and what we assume may be a misdirection by forces above our pay grade. Maybe we can't see the true circumstances from our perspective, and maybe there is more to it than we know.
  3. Perhaps the damage was greater than reported - and maybe the damage also occurred at a different level.
  4. Is it worth renewing my Delphi subscription?
  5. PeterPanettone

    Delphi 12: Invalid class typecast

    This error occurs in Delphi 12 with MMX 15_1_8_2580 each time when trying to SAVE in the IDE. (The error does not happen when MMX is not loaded). The error occurs only in a specific project. This makes it impossible to use MMX in that specific project. This project is quite large. How can I find out what causes this error? This is the text from the Error dialog: [593EE537]{mmx_bds23.dll} CustomPascalExplorers.TCustomPascalModuleExplorer.ReadToken (Line 1584, "CustomPascalExplorers.pas" + 114) + $11 [633EA4CE]{rtl290.bpl } System.ErrorAt (Line 5907, "System.pas" + 3) + $4 [633F03B3]{rtl290.bpl } System.@AsClass (Line 18904, "System.pas" + 3) + $5 [593EE537]{mmx_bds23.dll} CustomPascalExplorers.TCustomPascalModuleExplorer.ReadToken (Line 1584, "CustomPascalExplorers.pas" + 114) + $11 [593F0575]{mmx_bds23.dll} DelphiExplorers.TDelphiModuleExplorer.InternalRefresh (Line 409, "DelphiExplorers.pas" + 12) + $3 [593EBD6B]{mmx_bds23.dll} CustomPascalExplorers.TCustomPascalModuleExplorer.DoRefresh (Line 548, "CustomPascalExplorers.pas" + 63) + $8 [593DCB91]{mmx_bds23.dll} ModuleExplorers.TModuleExplorer.DoRefresh (Line 406, "ModuleExplorers.pas" + 4) + $9 [593DCE4A]{mmx_bds23.dll} ModuleExplorers.TModuleExplorer.Refresh (Line 548, "ModuleExplorers.pas" + 0) + $2 [593F7DF8]{mmx_bds23.dll} ModCache.TModuleCache.ImmediateRefresh (Line 1187, "ModCache.PAS" + 5) + $17 [593F66E4]{mmx_bds23.dll} ModCache.TModuleInfo.ForceSynchronization (Line 439, "ModCache.PAS" + 6) + $7 [594C1CC5]{mmx_bds23.dll} MMXModLinks.TMMXModuleLink.ForceSynchronization (Line 270, "MMXModLinks.pas" + 1) + $9 [595714A6]{mmx_bds23.dll} DelphiTopModTrackers.TDelphiTopModuleTracker.IDEModuleSaved (Line 112, "DelphiTopModTrackers.pas" + 😎 + $5 [594ED04F]{mmx_bds23.dll} OTANotifiers.TOTANotifications.ModuleSaved (Line 677, "OTANotifiers.PAS" + 6) + $6 [594EC14F]{mmx_bds23.dll} OTANotifiers.TOTANotifier.AfterSave (Line 230, "OTANotifiers.PAS" + 2) + $E [62BA5F98]{coreide290.bpl} DocModul.TCodeIDocModule.NotifyAfterSaveEvent (Line 2471, "DocModul.pas" + 4) + $5 [649B02AC]{designide290.bpl} ToolUtils.ForEach (Line 116, "ToolUtils.pas" + 9) + $F [62BA600E]{coreide290.bpl} DocModul.TCodeIDocModule.NotifyAfterSave (Line 2478, "DocModul.pas" + 1) + $B [62BA3E1B]{coreide290.bpl} DocModul.TDocModule.TheMalteseFalcon (Line 1522, "DocModul.pas" + 66) + $9 [634A79AD]{rtl290.bpl } System.Rtti.RawInvoke (Line 8622, "System.Rtti.pas" + 46) + $0 [634A7D90]{rtl290.bpl } System.Rtti.Invoke (Line 8867, "System.Rtti.pas" + 84) + $6 [633FA023]{rtl290.bpl } System.TInterfacedObject.QueryInterface (Line 40187, "System.pas" + 1) + $8 [63437E3F]{rtl290.bpl } System.SysUtils.Supports (Line 28493, "System.SysUtils.pas" + 1) + $D [633F8B6C]{rtl290.bpl } System.@IntfClear (Line 39066, "System.pas" + 10) + $0 [62BCE14F]{coreide290.bpl} CodeMgr.EventInfoToTypeData (Line 1895, "CodeMgr.pas" + 35) + $20 [5B4DB9D5]{boreditu.dll} EK_FLBUF.OBJ.@C7_0 + $495 [634BA8F5]{rtl290.bpl } System.Rtti.{System.Generics.Collections}TObjectDictionary<System.Pointer,System.Rtti.TRttiObject>.ValueNotify (Line 8698, "System.Generics.Collections.pas" + 1) + $7 [633F0779]{rtl290.bpl } System.@AfterConstruction (Line 19703, "System.pas" + 2) + $5 [633F4A5C]{rtl290.bpl } System.@FinalizeRecord (Line 33248, "System.pas" + 81) + $2 [633F0A28]{rtl290.bpl } System.TMonitor.Destroy (Line 19930, "System.pas" + 0) + $0 [633F015D]{rtl290.bpl } System.TObject.CleanupInstance (Line 18632, "System.pas" + 23) + $0 [633EA294]{rtl290.bpl } System.@FreeMem (Line 5008, "System.pas" + 20) + $0 [633EFF8C]{rtl290.bpl } System.TObject.FreeInstance (Line 18333, "System.pas" + 2) + $2 [633F0756]{rtl290.bpl } System.@ClassDestroy (Line 19697, "System.pas" + 0) + $2 [633F0075]{rtl290.bpl } System.TObject.Destroy (Line 18388, "System.pas" + 1) + $4 [633F0779]{rtl290.bpl } System.@AfterConstruction (Line 19703, "System.pas" + 2) + $5 [6347A4B7]{rtl290.bpl } System.SyncObjs.TCriticalSection.Release (Line 1140, "System.SyncObjs.pas" + 1) + $A [6347A4E2]{rtl290.bpl } System.SyncObjs.TCriticalSection.Leave (Line 1155, "System.SyncObjs.pas" + 0) + $2 [6349BCFD]{rtl290.bpl } System.Rtti.TRttiPackage.ReadObject (Line 5741, "System.Rtti.pas" + 14) + $6 [633F1800]{rtl290.bpl } System.@TryFinallyExit (Line 23776, "System.pas" + 😎 + $0 [633EA278]{rtl290.bpl } System.@GetMem (Line 4960, "System.pas" + 20) + $0 [633F227E]{rtl290.bpl } System.@NewUnicodeString (Line 26024, "System.pas" + 10) + $0 [633F390F]{rtl290.bpl } System.@UStrSetLength (Line 31341, "System.pas" + 74) + $0 [633EFD1E]{rtl290.bpl } System.UTF8IdentToString (Line 18053, "System.pas" + 2) + $4 [633F0779]{rtl290.bpl } System.@AfterConstruction (Line 19703, "System.pas" + 2) + $5 [634A8748]{rtl290.bpl } System.Rtti.TRttiInstMethParameter.Create (Line 10249, "System.Rtti.pas" + 7) + $2F [6347A4B7]{rtl290.bpl } System.SyncObjs.TCriticalSection.Release (Line 1140, "System.SyncObjs.pas" + 1) + $A [6347A4E2]{rtl290.bpl } System.SyncObjs.TCriticalSection.Leave (Line 1155, "System.SyncObjs.pas" + 0) + $2 [6349BCFD]{rtl290.bpl } System.Rtti.TRttiPackage.ReadObject (Line 5741, "System.Rtti.pas" + 14) + $6 [633F037A]{rtl290.bpl } System.@IsClass (Line 18897, "System.pas" + 1) + $8 [6349D989]{rtl290.bpl } System.Rtti.TRttiInstanceMethodEx.DispatchInvoke (Line 6622, "System.Rtti.pas" + 103) + $1A [634A8130]{rtl290.bpl } System.Rtti.TRttiMethod.Invoke (Line 10154, "System.Rtti.pas" + 1) + $11 [634A814A]{rtl290.bpl } System.Rtti.TRttiMethod.Invoke (Line 10155, "System.Rtti.pas" + 2) + $17 [00F19340]{bds.exe } SanctuaryChecker.TLicenseManager.TryAction + $11C [633F47FB]{rtl290.bpl } System.@InitializeArray (Line 32926, "System.pas" + 26) + $D [62BA3A17]{coreide290.bpl} DocModul.TDocModule.Save (Line 1434, "DocModul.pas" + 7) + $34 [6299E7D1]{coreide290.bpl} SourceModule.TSourceModule.Save (Line 1021, "SourceModule.pas" + 17) + $B [62BA8BA5]{coreide290.bpl} DocModul.SaveModifiedModules (Line 3697, "DocModul.pas" + 57) + $13 [62BA8CBA]{coreide290.bpl} DocModul.SaveModifiedModules (Line 3717, "DocModul.pas" + 77) + $4 [00EE8F19]{bds.exe } AppMain.TAppBuilder.FileSaveAll + $5 [63513943]{rtl290.bpl } System.Classes.TBasicAction.Execute (Line 18563, "System.Classes.pas" + 3) + $7 [621233B2]{vcl290.bpl } Vcl.ActnList.TCustomAction.Execute (Line 284, "Vcl.ActnList.pas" + 19) + $35 [635136F5]{rtl290.bpl } System.Classes.TBasicActionLink.Execute (Line 18458, "System.Classes.pas" + 😎 + $7 [6213F2F8]{vcl290.bpl } Vcl.Controls.TControl.Click (Line 8034, "Vcl.Controls.pas" + 7) + $7 [621CCBA8]{vcl290.bpl } Vcl.ComCtrls.TToolButton.Click (Line 23364, "Vcl.ComCtrls.pas" + 0) + $0 [6213F7C3]{vcl290.bpl } Vcl.Controls.TControl.WMLButtonUp (Line 8175, "Vcl.Controls.pas" + 7) + $6 [6213EDB6]{vcl290.bpl } Vcl.Controls.TControl.WndProc (Line 7920, "Vcl.Controls.pas" + 91) + $6 [6224BB87]{vcl290.bpl } Vcl.Themes.TStyleManager.GetStyle (Line 5822, "Vcl.Themes.pas" + 7) + $D [633F1800]{rtl290.bpl } System.@TryFinallyExit (Line 23776, "System.pas" + 😎 + $0 [6224BC75]{vcl290.bpl } Vcl.Themes.TStyleManager.GetStyle (Line 5833, "Vcl.Themes.pas" + 18) + $1E [6214098E]{vcl290.bpl } Vcl.Controls.TControl.GetStyleName (Line 8987, "Vcl.Controls.pas" + 5) + $7 [6342524B]{rtl290.bpl } System.SysUtils.AnsiCompareText (Line 7359, "System.SysUtils.pas" + 2) + $2B [633F0A28]{rtl290.bpl } System.TMonitor.Destroy (Line 19930, "System.pas" + 0) + $0 [633F4A1B]{rtl290.bpl } System.@FinalizeRecord (Line 33239, "System.pas" + 72) + $2 [6224BB87]{vcl290.bpl } Vcl.Themes.TStyleManager.GetStyle (Line 5822, "Vcl.Themes.pas" + 7) + $D [633F1800]{rtl290.bpl } System.@TryFinallyExit (Line 23776, "System.pas" + 😎 + $0 [6213E9EC]{vcl290.bpl } Vcl.Controls.TControl.Perform (Line 7698, "Vcl.Controls.pas" + 10) + $8 [621439C0]{vcl290.bpl } Vcl.Controls.GetControlAtPos (Line 10844, "Vcl.Controls.pas" + 2) + $7B [62143A92]{vcl290.bpl } Vcl.Controls.InternalControlAtPos (Line 10868, "Vcl.Controls.pas" + 15) + $E [6213E9EC]{vcl290.bpl } Vcl.Controls.TControl.Perform (Line 7698, "Vcl.Controls.pas" + 10) + $8 [62143BE9]{vcl290.bpl } Vcl.Controls.TWinControl.IsControlMouseMsg (Line 10907, "Vcl.Controls.pas" + 25) + $29 [62144240]{vcl290.bpl } Vcl.Controls.TWinControl.WndProc (Line 11093, "Vcl.Controls.pas" + 120) + $6 [621CF099]{vcl290.bpl } Vcl.ComCtrls.TToolBar.UpdateButtonState (Line 24710, "Vcl.ComCtrls.pas" + 11) + $27 [621CF0DA]{vcl290.bpl } Vcl.ComCtrls.TToolBar.UpdateButtonStates (Line 24721, "Vcl.ComCtrls.pas" + 3) + $4 [621D1E52]{vcl290.bpl } Vcl.ComCtrls.TToolBar.WndProc (Line 26364, "Vcl.ComCtrls.pas" + 100) + $6 [621438C0]{vcl290.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 10820, "Vcl.Controls.pas" + 3) + $6 [63514774]{rtl290.bpl } System.Classes.StdWndProc (Line 19070, "System.Classes.pas" + 😎 + $0 [633F4A5C]{rtl290.bpl } System.@FinalizeRecord (Line 33248, "System.pas" + 81) + $2 [62292EDB]{vcl290.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 13275, "Vcl.Forms.pas" + 23) + $1 [62292F1E]{vcl290.bpl } Vcl.Forms.TApplication.HandleMessage (Line 13305, "Vcl.Forms.pas" + 1) + $4 [6229325D]{vcl290.bpl } Vcl.Forms.TApplication.Run (Line 13444, "Vcl.Forms.pas" + 27) + $3 [00F38AD2]{bds.exe } bds.bds + $DE
  6. PeterPanettone

    Delphi 12: Invalid class typecast

    Good idea!
  7. PeterPanettone

    Delphi 12: Invalid class typecast

    BTW - when I ever get a living from the apps I create, I will donate to MMX, GExperts ... and all the other real benefactors of humanity.
  8. The MMX Entity Name field has a Drag handle to resize its width: That is very nice. Unfortunately, the resized width is not preserved between IDE sessions. I.e., the next time I restart the IDE, the width is again at its original value. Please make the resized Entity fields remember their width. Thank you!
  9. PeterPanettone

    Delphi 12: Invalid class typecast

    Downloaded and installed V15.1.9 Release. Everything is fine now. Thanks again, Uwe! MMX takes 47 seconds to load: Is that normal?
  10. PeterPanettone

    Delphi 12: Invalid class typecast

    Thanks! Sorry, my latest posting came one second too late.
  11. PeterPanettone

    Delphi 12: Invalid class typecast

    You are right - there are no more error messages when saving MainProgramWindowManager in beta 2597 now, and the behavior of the save icons is OK now! And I can compile/build my project after changes now! Thank you! Will you publish a new MMX release now (without the CodeSite debug messages)?
  12. PeterPanettone

    Delphi 12: Invalid class typecast

    I downloaded and installed beta 2597: There are a lot of CodeSite messages now. I have compressed them here: messages from beta 2597.zip
  13. PeterPanettone

    Delphi 12: Invalid class typecast

    I will download and install beta 2597 in a second.
  14. PeterPanettone

    Delphi 12: Invalid class typecast

    After having closed the Obsidium unit still opened in the IDE from the Obsidium Sample folder, now, when SAVING the "MainProgramWindowManager" unit, these are the CodeSite messages: Please note the new "Invalid class typecast" message that occurs while saving.
  15. PeterPanettone

    Delphi 12: Invalid class typecast

    Thank you. I downloaded and installed the new beta: When loading my project in the IDE, CodeSite Live Viewer received these messages: What conclusions can you draw from this?
  16. PeterPanettone

    Delphi 12: Invalid class typecast

    1. These are the SAVE and SAVE-ALL icons on the empty IDE (no project loaded yet; both icons are grey): 2. These are the SAVE and SAVE-ALL icons after loading my project (the SAVE icon has become green, while the SAVE-ALL icon is still grey): 3. These are the SAVE and SAVE-ALL icons after having made a change to the "MainProgramWindowManager" unit (both SAVE and SAVE-ALL icons have become green): BOTH icons remain green(!) after clicking the SAVE or the SAVE-ALL icon. This faulty behavior occurs only if MMX is loaded AND with the "MainProgramWindowManager" unit! (If both conditions are NOT met, clicking the SAVE button turns the SAVE-ALL icon grey: Checked and re-checked just now). This proves that MMX is causing an error on saving (with this specific unit), preventing the changed unit from being displayed as saved with the SAVE-ALL icon, while the SAVED INDICATION in the code editor has been turned green after saving: 4. When I try to COMPILE or BUILD this changed project, then this error dialog comes up: This points to the same error from the previous MMX error message dialog (EAssertionFailed in CustomPascalExplorer.pas), thus proving that MMX prevents the project from being compiled or built.
  17. PeterPanettone

    Delphi 12: Invalid class typecast

    The problem has now changed: After having uninstalled all IDE plugins except MMX, the problem seemed to have gone away. So, I added the IDE plugins one after the other and restarted the IDE each time to find out the culprit. At the end, after having added all IDE plugins as before, the MMX error message when saving the unit is no longer displayed. However, now, when I do a Save All from the file menu, it does not work: The Save-All icon remains green. However, this happens only when MMX is loaded AND with my specific unit "MainProgramWindowManager"! To summarize, it is the same error as before, but without the MMX error message dialog! I don't know why the error dialog does not appear anymore, as there are the same conditions as before. This seems to be a typical "chaos" problem (see chaos physics), where a minimal/microscopic change in the initial conditions leads to a macroscopically different result.
  18. PeterPanettone

    Delphi 12: Invalid class typecast

    Sent OK, thank you!
  19. PeterPanettone

    Delphi 12: Invalid class typecast

    ...which is the same as the email address Uwe posted above. But he insisted on sending the password on a separate channel.
  20. PeterPanettone

    Delphi 12: Invalid class typecast

    When trying to send you the personal message, I got the response: Uwe Raabe cannot receive messages.
  21. PeterPanettone

    Delphi 12: Invalid class typecast

    How can I securely send you the unit?
  22. PeterPanettone

    Delphi 12: Invalid class typecast

    The unit contains a lot of uses references to classes and units that you probably don't have access to.
  23. PeterPanettone

    Delphi 12: Invalid class typecast

    I understand. But you could implement an MMX user option, "Do not Raise at Invalid Class Typecast error," so the user can at least use MMX, which currently is not possible. I cannot use MMX in one of my main projects, which is a show-stopper.
  24. PeterPanettone

    Delphi 12: Invalid class typecast

    I activated both Debugging options: No log file is written to the indicated folder when the error occurs. No message was sent to my CodeSite Live Viewer. However, the line shown in the error message does indicate the source of the error: Assertion fehlgeschlagen (C:\CI_AWS\Ws\15164\Source|MMXmm32\Engine|Custom PascalExplorers.pas, line 1571). (English: Assertion failed)
  25. Shouldn't each company in the US have a kind of organigram showing their financial and administrative structure? Isn't there a regulation for this?
×