Jump to content

Der schöne Günther

Members
  • Content Count

    693
  • Joined

  • Last visited

  • Days Won

    12

Everything posted by Der schöne Günther

  1. Der schöne Günther

    Looping Memo.Text

    The memo content is just a string. You can split a string into multiple strings (string array). var sqlCommands := Memo1.Lines.Text.Split([';']);
  2. A "profiler" does exactly just that. Have you fed "delphi profiler" into a search engine of your choice?
  3. Der schöne Günther

    looking for animated 3D lettering

    A TWebBrowser? 😶
  4. Der schöne Günther

    Crash starting delphi 10.4.3

    My 10.4 informed me on the start/welcome page as soon as the update was available. Also, I think the primary place to look for things should be the https://my.embarcadero.com/
  5. Der schöne Günther

    Does C++ Builder have code completion?

    I'm looking forward to trying it out again in the near future. Binary compatibility with Delphi is still something no other product offers.
  6. Der schöne Günther

    WinUI in Delphi (planned for 10.5?)

    As far as I understand WinUI 3, it will be a UI library, independent of the application mode (Win32 or UWP). The RAD Studio November 2020 Roadmap PM Commentary (embarcadero.com) states (emphasis by me) As far as I understand, this sounds especially like XAML Islands, and I suppose this is also what the component WinRT (winsoft.sk) does. Here is the description from Microsoft Source: WinUI (microsoft.github.io) I am really looking forward to this. One downside is that XAML Islands were introduced in Windows 1809, but only in beta. It is officially supported from 1903 on. We are deploying devices with the latest Windows LTSC branch, which is 1809. I have talked to Microsoft developers about this, and while it should work on 1809, there might be issues, and I should not expect workarounds or patches. Let's see how this goes...
  7. Der schöne Günther

    Welcome, users of C++Builder

    Suggestion to move the following threads there Does C++ Builder have code completion? - Offtopic - Delphi-PRAXiS [en] What's the correct way to free an object in C++Builder? - GExperts - Delphi-PRAXiS [en] Update: C++Builder and Platforms Support - Cross-platform - Delphi-PRAXiS [en]
  8. Der schöne Günther

    WinUI in Delphi (planned for 10.5?)

    Very true. The same applies to Embarcadero. If 64 Bit or DPI scaling is so easy, then why does their own IDE not support it yet? Microsoft already uses, for example, WebView2 in Outlook and others, but I have yet to see other new controls in office products. To be fair, WinUI is still in preview.
  9. Der schöne Günther

    Setting Scroll Bar Width problem

    You can make those buttons do what you want, which includes "Page up" or "page down". To be honest, I remember that being a bit tricky. I should be able to access that projects source in a few hours (in case no one else has a solution at hand).
  10. Der schöne Günther

    Setting Scroll Bar Width problem

    I still don't quite understand why you're marking it so hard. You said your primary audience is using touch. Why don't you just place some big buttons right next to the DBGrid?
  11. Der schöne Günther

    Setting Scroll Bar Width problem

    I also tried something like this in the past. We dropped it, because it was a bad idea after all, even for a kiosk application like ours. Yes, it takes time. Sometimes, even other 3rd party application would completely lock up. I would strongly recommend to drop this approach. It will take a bit of work to roll your own scrollbar (for a general TWinControl, and maybe a TDBGrid), but you will end up with something that fully suits your needs and can be customized to run differently in Touch and in Desktop mode.
  12. Der schöne Günther

    Find UDP Server

    UDP has a BroadCast(..) method https://stackoverflow.com/a/7424793/2298252
  13. Der schöne Günther

    Using the New Edge browser control

    For your information: WebView2 is now out of preview: Announcing Microsoft Edge WebView2 General Availability - Microsoft Edge Blog (windows.com) Instead of using the runtime (or an installed beta version), it can now also leverage a new "fixed version" (previously called "bring-your-own") which is new and in preview.
  14. Der schöne Günther

    Initialization of returned managed types

    I don't have the source at hand, but Embarcadero said that is is "too difficult" to fix, because the initialization of that variable takes place in another compiler code part that actually doesn't know how the variable is used. There is, however, absolutely no excuse that there is no compiler warning. Embarcadero itself stumbles upon these uninitialized return values. Here's an example: [RSP-18300] TJson.Format() outputs invalid JSON - Embarcadero Technologies
  15. Der schöne Günther

    general question about embedding docs in an app

    This might come across as ignorant and disdainful, but I never understood why one should pick self-created html renderers above a "true" webbrowser that certainly supports a wider range of HTML/CSS (and JavaScript)?
  16. Der schöne Günther

    general question about embedding docs in an app

    I don't quite understand where sqlite comes into play. What did you have in mind? I have been using the TWebBrowser to display rich help documents for a few years now, and it works very well. However, there was never a need to run a full server behind it, I am just displaying local files. This way, the content can easily be changed / updated by our service personal, or even the client himself (for example, when not happy with a translation).
  17. Der schöne Günther

    Does C++ Builder have code completion?

    Thank you. Crazy I just missed the right version. With 10.4.1 instead of 10.4 it would have worked. That's a shame, as I don't have enough hard disk space for yet another RAD Studio VM.
  18. Der schöne Günther

    TWebBrowser very Weird Behavior with Gif images

    I can reproduce it, but I have no idea why this is the case. I suppose it has nothing to do with GIF files, the 2nd TWebBrowser just doesn't get repainted. If you resize your window you see how portions of the 2nd browser view will get repainted.
  19. If the inherited class does not show the event handler, then it most probably says OnClick = nil and overridding the handler from its base class. But to be honest, I haven't tested 10.4.1 yet, only 10.4
  20. Der schöne Günther

    Using the New Edge browser control

    I have always put the Edge user-data folder in the %TEMP% folder.
  21. Der schöne Günther

    Using the New Edge browser control

    There are several ways to ship the edge runtime: Check if the runtime is installed - If not, install it Install Edge Dev or Canary Ship your own edge dlls Option 3 is called "fixed version distribution" and not yet available. There will be no auto-update or anything. You can read more about the different options here: Distribution of Microsoft Edge WebView2 Applications - Microsoft Edge Development | Microsoft Docs PS: That is not true. Nothing gets replaced, they run side by side.
  22. Der schöne Günther

    Variation of FormatDateTime(

    You can easily use a TTimeSpan: program Project1; {$APPTYPE CONSOLE} uses System.SysUtils, System.DateUtils, System.TimeSpan; var StartDateTime, EndDateTime: TDateTime; TimePassed: TTimeSpan; begin StartDateTime := EncodeDateTime(2020, 01, 01, 00, 00, 00, 000); EndDateTime := Now(); TimePassed := TTimeSpan.FromDays(EndDateTime - StartDateTime); WriteLn(TimePassed.ToString()); ReadLn; end. which will output 266.07:29:15.1320000 If you want to have it differently, you can easily define your own format, like function formatTimespan(const timeSpan: TTimeSpan): String; begin Result := String.Format( '%d.%.2d:%.2d:%.2d', [ timeSpan.Days, timeSpan.Hours, timeSpan.Minutes, timeSpan.Seconds ]); end; which will then output 266.07:35:12
  23. It's not only about deleting components, it basically affects any change, like reparenting, renaming and even resizing. The best part is that you will only find out by either viewing the parent form/frame in the IDE, or at runtime. The core reason is that inherited forms/frames/data modules often (not always) have extreme redundancy. Look at their DFM files. They repeat their parents content. This is especially funny when you have a huge ImageList that gets copied again and again into dozens of subclasses. The only solution I could ever find is to always pay attention to your DFM files. At every commit in your source control system, do check out your DFM files! Undo changes that were added automatically although you didn't change anything. When I work in Delphi with things that involve the user interface, I spend roughly 30 % of my time reverting redundant changes in DFM files.
  24. Der schöne Günther

    check if App Minimized

    The global application object has an OnMinimize event.
  25. And everything it does is completely synchronous? No threads, task, TThread.Queue, TThread.Synchronize and whatnot?
×