Jump to content

PeterPanettone

Members
  • Content Count

    1318
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by PeterPanettone

  1. 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
  2. PeterPanettone

    Delphi 12: Invalid class typecast

    I will download and install beta 2597 in a second.
  3. 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.
  4. 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?
  5. 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.
  6. 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.
  7. PeterPanettone

    Delphi 12: Invalid class typecast

    Sent OK, thank you!
  8. 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.
  9. PeterPanettone

    Delphi 12: Invalid class typecast

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

    Delphi 12: Invalid class typecast

    How can I securely send you the unit?
  11. 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.
  12. 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.
  13. 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)
  14. 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?
  15. https://docwiki.embarcadero.com/RADStudio/Athens/en/ did work for me on Sunday: Currently, I'm getting a 504 Gateway Time-out from docwiki.embarcadero.com
  16. Is there a graphical structure diagram of the relationship between Embarcadero, Idera, and any other involved companies, including administration/ownership staff?
  17. Strangely, Russia also had a widespread Internet outage today (ZeroHedge reported).
  18. PeterPanettone

    Delphi 12: Invalid class typecast

    Thanks, Uwe. I've installed it. When trying to save the main unit in my Delphi 12 project, I now get this error message: (There is no error when saving any other unit in my project). This is the text of the error dialog: [5786061C]{mmx_bds23.dll} CustomPascalExplorers.TCustomPascalModuleExplorer.ReadToken (Line 1571, "CustomPascalExplorers.pas" + 99) + $42 [577ED8A1]{mmx_bds23.dll} Tokenizers.TMMBaseTokenizer.ReadToken (Line 624, "Tokenizers.pas" + 27) + $15 [649C218D]{rtl290.bpl } System.@Assert (Line 25711, "System.pas" + 2) + $D [5786061C]{mmx_bds23.dll} CustomPascalExplorers.TCustomPascalModuleExplorer.ReadToken (Line 1571, "CustomPascalExplorers.pas" + 99) + $42 [5784CE05]{mmx_bds23.dll} MMX.ReservedWords.IsReservedWord$qqrx20System.UnicodeStringr31Mmx.Reservedwords.TReservedWord (Line 76, "MMX.ReservedWords.pas" + 2) + $10 [5784CE2E]{mmx_bds23.dll} MMX.ReservedWords.IsMainResWord$qqrx20System.UnicodeStringr31Mmx.Reservedwords.TReservedWord (Line 82, "MMX.ReservedWords.pas" + 1) + $6 [57861943]{mmx_bds23.dll} CustomPascalExplorers.TCustomPascalModuleExplorer.SkipAsmBlock (Line 1893, "CustomPascalExplorers.pas" + 6) + $3 [57863D2F]{mmx_bds23.dll} DelphiExplorers.TDelphiModuleExplorer.InternalRefresh (Line 427, "DelphiExplorers.pas" + 30) + $3 [5785CAA1]{mmx_bds23.dll} CustomPascalExplorers.TCustomPascalModuleExplorer.DoRefresh (Line 550, "CustomPascalExplorers.pas" + 63) + $8 [5784A207]{mmx_bds23.dll} ModuleExplorers.TModuleExplorer.DoRefresh (Line 406, "ModuleExplorers.pas" + 4) + $B [5784A610]{mmx_bds23.dll} ModuleExplorers.TModuleExplorer.Refresh (Line 548, "ModuleExplorers.pas" + 1) + $8 [5786DFAE]{mmx_bds23.dll} ModCache.TModuleCache.ImmediateRefresh (Line 1189, "ModCache.PAS" + 5) + $18 [5786BDD7]{mmx_bds23.dll} ModCache.TModuleInfo.ForceSynchronization (Line 441, "ModCache.PAS" + 6) + $8 [57960F58]{mmx_bds23.dll} MMXModLinks.TMMXModuleLink.ForceSynchronization (Line 270, "MMXModLinks.pas" + 1) + $F [57A3C6CC]{mmx_bds23.dll} DelphiTopModTrackers.TDelphiTopModuleTracker.IDEModuleSaved (Line 112, "DelphiTopModTrackers.pas" + 😎 + $8 [57998D67]{mmx_bds23.dll} OTANotifiers.TOTANotifications.ModuleSaved (Line 677, "OTANotifiers.PAS" + 6) + $9 [57996930]{mmx_bds23.dll} OTANotifiers.TOTANotifier.AfterSave (Line 230, "OTANotifiers.PAS" + 2) + $13 [62DB5F98]{coreide290.bpl} DocModul.TCodeIDocModule.NotifyAfterSaveEvent (Line 2471, "DocModul.pas" + 4) + $5 [63F802AC]{designide290.bpl} ToolUtils.ForEach (Line 116, "ToolUtils.pas" + 9) + $F [62DB600E]{coreide290.bpl} DocModul.TCodeIDocModule.NotifyAfterSave (Line 2478, "DocModul.pas" + 1) + $B [62DB3E1B]{coreide290.bpl} DocModul.TDocModule.TheMalteseFalcon (Line 1522, "DocModul.pas" + 66) + $9 [64A779AD]{rtl290.bpl } System.Rtti.RawInvoke (Line 8622, "System.Rtti.pas" + 46) + $0 [64A77D90]{rtl290.bpl } System.Rtti.Invoke (Line 8867, "System.Rtti.pas" + 84) + $6 [649CA023]{rtl290.bpl } System.TInterfacedObject.QueryInterface (Line 40187, "System.pas" + 1) + $8 [64A07E3F]{rtl290.bpl } System.SysUtils.Supports (Line 28493, "System.SysUtils.pas" + 1) + $D [649C8B6C]{rtl290.bpl } System.@IntfClear (Line 39066, "System.pas" + 10) + $0 [62DDE14F]{coreide290.bpl} CodeMgr.EventInfoToTypeData (Line 1895, "CodeMgr.pas" + 35) + $20 [5BB67DC5]{boreditu.dll} EK_ENTRY.OBJ.EK_GET_LINE_CONTENTS + $501 [64B90D44]{rtl290.bpl } System.RegularExpressionsAPI.pcre_exec (Line 6661, "C:\Projects\Yukon\tp\runtime\rtl\common\regex\pcre\source\pcre_exec.c" + 309) + $7 [64A6D989]{rtl290.bpl } System.Rtti.TRttiInstanceMethodEx.DispatchInvoke (Line 6622, "System.Rtti.pas" + 103) + $1A [64A78130]{rtl290.bpl } System.Rtti.TRttiMethod.Invoke (Line 10154, "System.Rtti.pas" + 1) + $11 [64A7814A]{rtl290.bpl } System.Rtti.TRttiMethod.Invoke (Line 10155, "System.Rtti.pas" + 2) + $17 [005A9340]{bds.exe } SanctuaryChecker.TLicenseManager.TryAction + $11C [649C47FB]{rtl290.bpl } System.@InitializeArray (Line 32926, "System.pas" + 26) + $D [62DB3A17]{coreide290.bpl} DocModul.TDocModule.Save (Line 1434, "DocModul.pas" + 7) + $34 [62BAE7D1]{coreide290.bpl} SourceModule.TSourceModule.Save (Line 1021, "SourceModule.pas" + 17) + $B [62C77130]{coreide290.bpl} EdScript.TIDEEditorServices.WindowCommand (Line 3778, "EdScript.pas" + 12) + $20 [62D16332]{coreide290.bpl} EditorControl.TEditEventHandler.EditSaveFile (Line 9500, "EditorControl.pas" + 2) + $10 [62D11FA9]{coreide290.bpl} EditorControl.TCustomEditControl.SaveFile (Line 7405, "EditorControl.pas" + 1) + $14 [62D04E53]{coreide290.bpl} EditorControl.TCustomEditControl.CMControlCommand (Line 2211, "EditorControl.pas" + 15) + $2 [62D15CC6]{coreide290.bpl} EditorControl.TEditControl.CMControlCommand (Line 9301, "EditorControl.pas" + 14) + $0 [6454EDB6]{vcl290.bpl } Vcl.Controls.TControl.WndProc (Line 7920, "Vcl.Controls.pas" + 91) + $6 [649C0A28]{rtl290.bpl } System.TMonitor.Destroy (Line 19930, "System.pas" + 0) + $0 [649C4A1B]{rtl290.bpl } System.@FinalizeRecord (Line 33239, "System.pas" + 72) + $2 [6465BB87]{vcl290.bpl } Vcl.Themes.TStyleManager.GetStyle (Line 5822, "Vcl.Themes.pas" + 7) + $D [649C1800]{rtl290.bpl } System.@TryFinallyExit (Line 23776, "System.pas" + 😎 + $0 [6465BC75]{vcl290.bpl } Vcl.Themes.TStyleManager.GetStyle (Line 5833, "Vcl.Themes.pas" + 18) + $1E [6455098E]{vcl290.bpl } Vcl.Controls.TControl.GetStyleName (Line 8987, "Vcl.Controls.pas" + 5) + $7 [649C056B]{rtl290.bpl } System.TObject.Dispatch (Line 19247, "System.pas" + 11) + $0 [6465FBC5]{vcl290.bpl } Vcl.Themes.TStyleHook.WndProc (Line 7733, "Vcl.Themes.pas" + 38) + $6 [6465FDA6]{vcl290.bpl } Vcl.Themes.TMouseTrackControlStyleHook.WndProc (Line 7832, "Vcl.Themes.pas" + 1) + $4 [646A9124]{vcl290.bpl } Vcl.Forms.TScrollingStyleHook.WndProc (Line 16707, "Vcl.Forms.pas" + 0) + $0 [61F8189C]{themeloader290.bpl} IDETheme.IDEStyleHooks.TEditControlIDEStyleHook.WndProc (Line 542, "IDETheme.IDEStyleHooks.pas" + 0) + $0 [6465F3EA]{vcl290.bpl } Vcl.Themes.TStyleHook.HandleMessage (Line 7438, "Vcl.Themes.pas" + 20) + $6 [64788C80]{vcl290.bpl } Vcl.Styles.TStyleEngine.HandleMessage (Line 3616, "Vcl.Styles.pas" + 20) + $8 [649C2729]{rtl290.bpl } System.@UStrAsg (Line 26952, "System.pas" + 18) + $0 [6465BDA8]{vcl290.bpl } Vcl.Themes.TStyleManager.HandleMessage (Line 5891, "Vcl.Themes.pas" + 11) + $11 [6455234F]{vcl290.bpl } Vcl.Controls.TWinControl.DoHandleStyleMessage (Line 9953, "Vcl.Controls.pas" + 0) + $F [645543FB]{vcl290.bpl } Vcl.Controls.TWinControl.WndProc (Line 11151, "Vcl.Controls.pas" + 178) + $6 [2F11ABDD]{cxLibraryRS29.bpl} Dxhooks. + $0 [645538C0]{vcl290.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 10820, "Vcl.Controls.pas" + 3) + $6 [64AE4774]{rtl290.bpl } System.Classes.StdWndProc (Line 19070, "System.Classes.pas" + 😎 + $0 [62D1F002]{coreide290.bpl} VClient.SendWindowMsg (Line 3189, "VClient.pas" + 2) + $10 [62D1D940]{coreide290.bpl} VClient.SendWindowMsgProc (Line 2041, "VClient.pas" + 1) + $D [629D98A6]{coreide290.bpl} IDEKbd.@interpret_bmi_macro$qqrp5BMI_tpcp11CmdMapTableppc (Line 39, "bmi.cpp" + 14) + $5 [629D84A2]{coreide290.bpl} IDEKbd... (Line 599, "IDEKbd.pas" + 0) + $16E [62D1BB58]{coreide290.bpl} VClient.CmdStringProc (Line 616, "VClient.pas" + 5) + $17 [629DA003]{coreide290.bpl} IDEKbd.@LookUpKey$qqrp11KeyMapTableul (Line 101, "keymap.cpp" + 6) + $4 [62D28A94]{coreide290.bpl} KbClient.TIDEKBDFrameAPI.MapAndEvalInternal (Line 842, "KbClient.pas" + 10) + $11 [62D2850D]{coreide290.bpl} KbClient.HandleKey (Line 572, "KbClient.pas" + 6) + $12 [62D28A1A]{coreide290.bpl} KbClient.TIDEKBDFrameAPI.ProcessKeyStroke (Line 820, "KbClient.pas" + 238) + $1 [62D295C8]{coreide290.bpl} KbClient.TIDEKBDChildAPI.ProcessKeyStroke (Line 1368, "KbClient.pas" + 14) + $16 [62D1466B]{coreide290.bpl} EditorControl.TCustomEditControl.DoKeyDown (Line 8774, "EditorControl.pas" + 33) + $18 [62D05282]{coreide290.bpl} EditorControl.TCustomEditControl.CNKeyDown (Line 2310, "EditorControl.pas" + 17) + $4 [6454EDB6]{vcl290.bpl } Vcl.Controls.TControl.WndProc (Line 7920, "Vcl.Controls.pas" + 91) + $6 [649C0A28]{rtl290.bpl } System.TMonitor.Destroy (Line 19930, "System.pas" + 0) + $0 [649C4A1B]{rtl290.bpl } System.@FinalizeRecord (Line 33239, "System.pas" + 72) + $2 [6465BB87]{vcl290.bpl } Vcl.Themes.TStyleManager.GetStyle (Line 5822, "Vcl.Themes.pas" + 7) + $D [649C1800]{rtl290.bpl } System.@TryFinallyExit (Line 23776, "System.pas" + 😎 + $0 [6465BC75]{vcl290.bpl } Vcl.Themes.TStyleManager.GetStyle (Line 5833, "Vcl.Themes.pas" + 18) + $1E [6455098E]{vcl290.bpl } Vcl.Controls.TControl.GetStyleName (Line 8987, "Vcl.Controls.pas" + 5) + $7 [649C056B]{rtl290.bpl } System.TObject.Dispatch (Line 19247, "System.pas" + 11) + $0 [6465FBC5]{vcl290.bpl } Vcl.Themes.TStyleHook.WndProc (Line 7733, "Vcl.Themes.pas" + 38) + $6 [6465FDA6]{vcl290.bpl } Vcl.Themes.TMouseTrackControlStyleHook.WndProc (Line 7832, "Vcl.Themes.pas" + 1) + $4 [646A9124]{vcl290.bpl } Vcl.Forms.TScrollingStyleHook.WndProc (Line 16707, "Vcl.Forms.pas" + 0) + $0 [61F8189C]{themeloader290.bpl} IDETheme.IDEStyleHooks.TEditControlIDEStyleHook.WndProc (Line 542, "IDETheme.IDEStyleHooks.pas" + 0) + $0 [6465F3EA]{vcl290.bpl } Vcl.Themes.TStyleHook.HandleMessage (Line 7438, "Vcl.Themes.pas" + 20) + $6 [64788C80]{vcl290.bpl } Vcl.Styles.TStyleEngine.HandleMessage (Line 3616, "Vcl.Styles.pas" + 20) + $8 [649C2729]{rtl290.bpl } System.@UStrAsg (Line 26952, "System.pas" + 18) + $0 [6465BDA8]{vcl290.bpl } Vcl.Themes.TStyleManager.HandleMessage (Line 5891, "Vcl.Themes.pas" + 11) + $11 [6455234F]{vcl290.bpl } Vcl.Controls.TWinControl.DoHandleStyleMessage (Line 9953, "Vcl.Controls.pas" + 0) + $F [645543FB]{vcl290.bpl } Vcl.Controls.TWinControl.WndProc (Line 11151, "Vcl.Controls.pas" + 178) + $6 [2F11ABDD]{cxLibraryRS29.bpl} Dxhooks. + $0 [645538C0]{vcl290.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 10820, "Vcl.Controls.pas" + 3) + $6 [64AE4774]{rtl290.bpl } System.Classes.StdWndProc (Line 19070, "System.Classes.pas" + 😎 + $0 [646A2C10]{vcl290.bpl } Vcl.Forms.TApplication.IsKeyMsg (Line 13183, "Vcl.Forms.pas" + 25) + $12 [646A2CAA]{vcl290.bpl } Vcl.Forms.TApplication.IsHintMsg (Line 13204, "Vcl.Forms.pas" + 3) + $2 [646A2EB7]{vcl290.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 13269, "Vcl.Forms.pas" + 17) + $31 [646A2F1E]{vcl290.bpl } Vcl.Forms.TApplication.HandleMessage (Line 13305, "Vcl.Forms.pas" + 1) + $4 [646A325D]{vcl290.bpl } Vcl.Forms.TApplication.Run (Line 13444, "Vcl.Forms.pas" + 27) + $3 [005C8AD2]{bds.exe } bds.bds + $DE I hope this will help you get to the root of the problem.
  19. The Open Recent section on the Welcome page is one of its most valuable features. Unfortunately, the much too large .dproj icons all look the same, which does not contribute to a visual project recognition: It would be helpful if each item in the Recent list could have its own configurable icon associated with the respective project. Is there a trick or an addin to achieve this? (For example, by placing a Recent.ico file into each project directory. Or the Welcome Page could automatically extract the icon from the compiled project executable).
  20. PeterPanettone

    Delphi 12 Welcome Page: Open Recent

    One of my next projects will be a revolutionary comprehensive system-wide Delphi Files/Projects Manager that will, of course, include custom project icons. It's already finished in my brain - I have only to type it on the keyboard. This is not a joke.
  21. PeterPanettone

    Delphi 12 Welcome Page: Open Recent

    Why do you assume this is a "feature request"? I just wanted to start a discussion. Are you against discussions? Are you against people posting questions here? This is so sad.
  22. I tremble for the day when a rogue regime decides to shut down the internet...
  23. That's why we have AI: to solve problems caused by AI.
  24. To mitigate the impact of long-term server downtime, it's essential to have robust strategies in place. These strategies are not specific to any programming environment, such as Delphi, but are general best practices in server management and IT infrastructure. Here are some key strategies: 1. Redundancy and Failover Systems: Implement redundant server systems to ensure that if one server goes down, others can take over its workload. This can be achieved through clustering or using load-balanced server setups. 2. Regular Backups: Ensure regular backups of all critical data. These backups should be stored off-site or in a cloud environment to prevent data loss in case of physical damage to the primary server location. 3. Disaster Recovery Plan: Develop a comprehensive disaster recovery plan that includes detailed steps for restoring services in the event of various types of failures. Regularly test and update this plan. 4. Monitoring and Alerts: Use advanced monitoring tools to check the health of servers constantly. Set up alerts for any unusual activity or performance degradation so that issues can be addressed before they lead to long-term downtime. 5. Routine Maintenance: Regularly update and maintain the servers. This includes applying security patches, updating software, and checking hardware health. 6. Cloud-Based Solutions or Hybrid Approaches: Consider using cloud-based services or a hybrid approach, where critical infrastructure components are hosted on cloud services. This can offer higher reliability and easier scalability. 7. Third-Party Support Services: Engage with third-party support services for critical components. They can provide expertise and additional resources during major downtimes. 8. Diversification of Data Centers: If you're hosting your servers in data centers, don't put all your resources in one location. Utilize multiple geographically dispersed data centers to mitigate the risk of a single point of failure. 9. Testing and Simulation of Downtime: Periodically simulate downtime scenarios to test your strategies' effectiveness and your team's preparedness. 10. Documentation and Training: Ensure that all procedures are well-documented, and train your staff to respond effectively to different downtime scenarios. Remember, the goal is to prevent downtime and minimize the impact when it does occur. Combining these strategies effectively can significantly reduce the risks and impacts of long-term server downtime.
  25. On my Windows 10 VM with Delphi 12, the Learn Videos portion of the Welcome Page does come up (while GetIt is still failing):
×