Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

35 Excellent

About sakura

  • Birthday February 4

Technical Information

  • Delphi-Version
    Delphi 10.4 Sydney

Recent Profile Visitors

401 profile views
  1. sakura

    What about this Error ?

    Would you mind writing a bit more about what you did, how can we reproduce that? Btw, you can copy&paste the messages from the message pane...
  2. Take a look above the text editor, in the toolbar and look for the </> button, press that to insert code πŸ™‚
  3. Only, and only if your application does not depend upon that DLL to do its work. If it is an extension, giving extra features, not needed for the overall result, then you may use it that way. However, if the main purpose of your application depends on that DLL, it is to be published under GPL as well.
  4. sakura

    Buggy Optimizer in Delphi 10.4

    Let's not discuss the GOTO - first, it is not my code, but code from a library I use, second, the full method from the library certainly benefits from it. It is not always possible to optimize for everything cleanly. For full details, follow the links πŸ˜‰
  5. Yes, no change, the IOTAEditorContent object itself is not even marked as modified, it's the module, which is "knowing" that something has happened. 😐
  6. Hi, I have a IDE plug-in which acts upon an opened file in the IDE (IOTAIDENotifier.FileNotification - aNotifyCode = ofnFileOpened). It loads the corresponding IOTAModule and the IOTAEditorContent for the PAS-File Before displaying, I want to do some formating for the viewer and set the content through the IOTAEditorContent interface. Nicely, as I do not call MarkModified, the editor view acts like the content has not been modified. However, the IOTAModule believes that the module has been modified and asks, whether the changes shall be saved (which I do not desire, when just viewing). Is there a way, to inform the IDE, that at this point, no changes have occurred. The question to save changes should not appear, when the user did not actually change anything πŸ˜‰ Thanks, Daniel
  7. Hi, just for you guys to weigh in, we have located a bug in the Delphi 10.4 compiler, that removes a totally valid assign statement in RELEASE mode, believing, that the code will never be executed. The actual method is from the mORMot library in releases before last week (unit SynCommons.pas, method TSynAnsiFixedWidth.AnsiBufferToUTF8. A full discussion is available at the mORMot-Forum: https://synopse.info/forum/viewtopic.php?id=5520 . I have reported the bug to Embarcadero: https://quality.embarcadero.com/browse/RSP-30088 . Please check out my report and try to confirm and weigh in there. It should be reproducible. --- Note, the compiler will tell you (Hint H2077), that the value assigned is never used and thus, in RELEASE mode, with optimizations enabled, drop the code completely. Thanks for your time and support πŸ‘
  8. sakura

    FreeAndNil or NilAndFree ?

    Further on, the function is to ensure a properly nulled reference, even if something fails. A object that failed during Free/Destroy is usually not usable any longer anyways.
  9. Yeah, that was my first thought... not really better, though the name of the method itself tells the story. Yet, for someone, who does not quite yet understand all the quirks of Delphi, this is a little frustrating...
  10. sakura

    wuppdi Welcome Page for Delphi 10.4?

    Yepp, I know why πŸ˜„ The original Welcome Page was designed by me during the field test, and at that time "wuppdi" was the "thing" at the German Delphi Praxis, and I wanted to include that somehow and that's how it ended up there πŸ˜„ wuppdi is a simple CSS class to hide different things. doShow CSS class was used to override wuppdi πŸ˜„
  11. Don't worry, I've never seen larger projects, where the code could explain all the thinking behind the tinkering, especially the larger picture. I think we all can agree, that good code explains what it is doing quite well, however, rarely, if ever why and never the reason behind he full logic of a multi-year-project.
  12. @Vincent Parrett Done yet? πŸ˜„ Honestly, refactoring does not only mean fixing and improving code itself, though, as stated above, as learning and evolving creature, there is always a chance for that, no matter how expertly you done it, but requirements change, features need to be implemented, and so on. Existing code may anticipate a lot of upcoming changes, but ever everything? So yes, there will always be a need for refactoring. Now, let's go back to my last paragraph and do that πŸ˜‰
  13. sakura

    Just wanted to brag a bit :-)

    German store has ist too. Congrats!
  14. sakura

    Problem With Generating AAB With 10.3.3

    Looks like you have some post build events and those try accessing java.