Jump to content

Der schöne Günther

Members
  • Content Count

    726
  • Joined

  • Last visited

  • Days Won

    12

Everything posted by Der schöne Günther

  1. Der schöne Günther

    My app dies in Server 2019

    See Writing Dynamically Loaded Libraries - RAD Studio (embarcadero.com) Quote (emphasis by me):
  2. Der schöne Günther

    Array size 64bits

    Are you using range checking in your debug build? Maybe the compiler does different range checking for static and dynamic arrays.
  3. Der schöne Günther

    Subscribe to a web stream and listen to incoming streams

    In Delphi, you will usually take a StreamReader and use its ReadLine() method which will block.
  4. Der schöne Günther

    Windows System Requirements for Delphi

    https://docwiki.embarcadero.com/RADStudio/en/Installation_Notes#System_Requirements
  5. Der schöne Günther

    TEdgeBrowser : "Unsafe attempt to load URL"

    Yes, this is a well known restriction of Chromium. It is so common that it baffles me this is also one of the many things that Embarcaderos wrapper TEdgeBrowser has no easy access to. You will either have to set environment variable you mentioned inside your own process (which should only be a last-resort workaround), start your own process with this command line argument (even worse) or make changes to the edge browser source code, so it will feed the required parameters into AdditionalBrowserArguments. Or use another library that offers more flexibility. That's for sure, but who said those files were writeable?
  6. Why do you need to convert them to another language? Can't you build the C++ stuff as a separate library or process and then use that from your Delphi application?
  7. Der schöne Günther

    Move project to pc with different scaling (100% -> 150%) - Impact on GUI ?

    Not sure what version control system you're using, but you should be able to commit just parts of your changes / revert parts of the changes. I do that all the time, because it happens all the time. You just add a button and the IDE decides it's now time to change a dozen other things within your .dfm file as well...
  8. Der schöne Günther

    TEdgeBrowser - Any successful deployments and updates?

    We started doing that even before it was considered "stable" and never had a problem. To be honest, I'm only using it for displaying PDFs and some small live value display, nothing too fancy. I think we just make sure that the WebView2Runtime is installed, and that's it.
  9. Der schöne Günther

    Is loading a resourcestring not threadsafe?

    I am loading resource strings from several threads and never had a problem. That doesn't mean it's ok to do so, but I never had anything while you make it sound like an AV is guarenteed to happen unless you surround it with critical sections. Can you create a reproducable sample?
  10. Der schöne Günther

    Blogged - Code signing with USB tokens

    Thank you so much! I never bothered with code signing (we ship devices with our software pre-installed), so this is all entirely new to me.
  11. Der schöne Günther

    Cpp2 - Herb Sutter

    Hope not to derail this thread, but there is a ton of UI libraries for Rust. However, I know of no IDE that offers some kind of a form designer like those from RAD Studio or Visual Studio. I have used a simple WebView for small hobbyist projects in Rust (using wry which is also used by Tauri [Tauri in 100 Seconds - YouTube]). I'm not sure if I'd really miss creating VCL over HTML. I found it very enjoyable so far, however just on a very small scale. If you have heavily invested in custom VCL components over the years, then you're pretty much "locked in". From time to time, I am replacing some smaller parts of our Delphi applications with web interfaces. So far, I am very happy with the results, and I'd like to continue going down that route.
  12. Der schöne Günther

    AutoRun.Inf in USB

    I haven't seen Windows automatically launching an application after plugging in a USB drive for ten or 15 years. Consult the official documentation about autorun.inf: Autorun.inf Entries - Win32 apps | Microsoft Learn
  13. Der schöne Günther

    Delphi Registration

    After all their licensing stuff went south, we never installed Delphi IDEs on real machines anymore, just virtual ones. If licensing (or the IDE itself) breaks, just roll back the VM, and you're back in the game. The VM doesn't even need internet.
  14. Der schöne Günther

    function returning interface

    With Delphi 11.1, my actual output is exactly what you expect.
  15. Der schöne Günther

    Encoding accented char in JSON format

    As far as I understand, not the DB layer (TFields and stuff) is throwing the exception, but your Writer is, correct? If that's the case, have you seen its StringEscapeHandling-property?
  16. Der schöne Günther

    Open Unit Window

    Me neither, there really is a lot of room for improvement, even with MMX. I really like the "time since last edit". I suppose it's referring to the files on disk, not the underlying source control system? Not sure if an absolute path to the files is really helpful. Wouldn't a path, relative to the active project root, be sufficient? 🤔
  17. Der schöne Günther

    Anyone using Cromis?

    I remember using CromisIPC about 8 years ago, but it never really worked 100%, so we stopped using it.
  18. Der schöne Günther

    11.2 Pre-Upgrade Checklist / back out plan

    Just use a VM. Problem with an update, something not working as it should? Just roll back. Takes just a couple of seconds and you can be sure everything is in a state that is working fine.
  19. Der schöne Günther

    Get call count with Delphi debugger

    I just noticed that if the breakpoint has a condition, the pass count reflects the number of times the condition was true. That's actually pretty nice. Now if only one line could have multiple breakpoints with different conditions... 😇 PS: Fun fact: If you kill the process with [Ctrl]+[F2] rather than letting it terminate gracefully, the IDE will still show the last pass count for a breakpoint.
  20. Cannot reproduce: unit Unit1; interface type MyAttributeOne = class(TCustomAttribute); [MyAttributeOne] TMyObject = class(TObject); implementation end. program Project1; uses System.SysUtils, System.Rtti, Unit1 in 'Unit1.pas'; var ctx: TRttiContext; rttiType: TRttiType; attribute: TCustomAttribute; begin ctx := TRttiContext.Create(); rttiType := ctx.GetType( TypeInfo(TMyObject) ); for attribute in rttiType.GetAttributes() do if(attribute is MyAttributeOne) then WriteLn('It is MyAttributeOne!') else WriteLn('It is something else'); end. will output It is MyAttributeOne!
  21. Der schöne Günther

    Anyone using an open-source ORM?

    It may sound irritating, but I don't use ORMs at all. Maybe that's because we usually don't have many things stuffed into relational databases, or maybe because this old article left a lasting impression: Object-Relational Mapping is the Vietnam of Computer Science (codinghorror.com). I have no proof, but that for the few times, it was more time-efficient to do it by hand than include a massive ORM library and learn how to use it properly.
  22. Der schöne Günther

    delphi Twebbrowser Javascript error

  23. Der schöne Günther

    delphi Twebbrowser Javascript error

    To be honest, I have never heard of that, let alone experienced it myself. It is still working fine, at least for the parts where have not migrated to the (fantastic!) EdgeBrowser yet.
  24. Der schöne Günther

    IfThen Oddity...

    Function arguments are always evaluated, then passed into the function. This "IfThen" (which I have never seen before), is just a regular function. The compiler has no knowledge that there is no need to evaluate the other arguments if the first one results to False.
  25. Der schöne Günther

    The best way to handle undo and redo.

    The Command Design Pattern (sourcemaking.com) is generally used for undo/redo operations. Regarding databases: Not sure if you're looking for undo/redo or just transactions. Maybe this is relevant to you: Managing Transactions (FireDAC) - RAD Studio (embarcadero.com)
×