Jump to content

dummzeuch

Members
  • Content Count

    2855
  • Joined

  • Last visited

  • Days Won

    101

Everything posted by dummzeuch

  1. I just found a typo in the TWMDPI record declaration in the Delphi 10 Winapi.Messages unit: TWMDpi = record Msg: Cardinal; MsgFiller: TDWordFiller; YDpi: Word; XDpi: Word; WParamFiller: TDWordFiller; ScalledRect: PRECT; // <- here Result: LRESULT; end; ScaledRect is misspelled as ScalledRect. I am not sure whether this spelling error was in the original installation or whether I might have changed this declaration by accident (No, that unit is not readonly on my system.) Since this record was introduced with Delphi 10 it might just have been a typo that was corrected in later versions. Could somebody with an unchanged installation please check?
  2. dummzeuch

    Typo in TWMDPI record in Delphi 10 Seattle ?

    Yes, Delphi 10 was the only version where the code failed to compile. XE8 didn't have that record, in 10.1, latest update, it was correct. So it really is a bug I'm the sources, not an accidental edit by me. Thanks for confirming.
  3. There is the open source proj4 library which you could compile to a dll (if there is no download available, I haven't checked) and call from Delphi. It can convert from basically any GIS coordinate system to any other, but it is not easy to use.
  4. dummzeuch

    INTAServices.AddMasked seems to be broken in Delphi 12

    It was the additional calls to AddMasked. If I comment these out, the images are assigned correctly to the actions. So now I have to figure out a way to avoid these calls. And then ifdef the whole stuff to only run on Delphi 12 (and possibly later, or maybe starting with the first Delphi version that supports AddImages) ...
  5. dummzeuch

    INTAServices.AddMasked seems to be broken in Delphi 12

    I just tried to use AddImages instead. Unfortunately this doesn't work either in Delphi 12 but works fine in older versions (those that support it). Maybe it doesn't like being used in addition to AddMasked, or I am doing something else wrong. Another day wasted on broken IDE functionality. 😞
  6. dummzeuch

    Duration as string ?

    SecondsToHumanReadableString in my dzlib. There are probably others which I am not aware of. I just noticed that you wanted milliseconds support. My function does not support these.
  7. dummzeuch

    Is there a Delphi "subprocess" library?

    If I understood this correctly, a Python subprocess starts an external program, connects its stdin/out/err to pipes and gets the return code when it exits. There is nothing like this in the standard Delphi RTL but there are multiple third party options. If I remember correctly one is in the JCL, another is my own TAsyncExec class in unit u_dzAsyncExec which is part of my dzlib library.
  8. Putting your program into the autostart folder will ensure that it is started when windows starts (or actually, when the user logs on). You can then let it run with an invisible window and handle messages that announce the other events: WM_ENDSESSION WM_POWERBROADCAST
  9. dummzeuch

    INTAServices.AddMasked seems to be broken in Delphi 12

    Thanks for the hint. I thought about that approach too, but unfortunately that's very difficult to do with the current way GExperts works: Each expert registers its own action / image with the IDE, removes the action when the expert is disabled and adds it again when the expert is enabled. All this without restarting the IDE. On top of that this API was introduced at some time after Delphi 6 (haven't checked when exactly), so I'd need to use two different ways to still support all currently supported Delphi versions. Btw: Are you aware that Project Magician registers an action without a name? That means it cannot be added reliably to a toolbar. I found that today while investigating an issue with the GExperts Editor Toolbar.
  10. I've moved this to a new topic because it is not much related to Delphi 12 being released. Anything from JetBrains... I am not saying that Delphi is stuck in the Stone Age... but it is lagging behind in some areas. OK, I bite: What's your favorite feature(s) in a JetBrains editor that Delphi does not offer? (Excluding things that Delphi offers but that don't work.)
  11. If nobody files a bug report, there will be no fix.
  12. I'm not aware of such a warning in Delphi, but GExperts shows one. It's enabled by default and can be disabled in the dialog itself. To enable it again later, go to the messages tab in the GExperts configuration dialog.
  13. By filing a bug report with Embarcadero
  14. As far as I remember there is nothing in ccr-exif that relies on the VCL. And since it supports non-Windows targets it should work with FMX projects. (But I might be wrong. I never explicitly checked for that dependency.)
  15. If that's the case, take them to court. I'm pretty sure that's illegal in most countries.
  16. dummzeuch

    Syndey and Athens in same PC

    You can install all main versions of Delphi in parallel. Since Delphi 10.4 (Sydney) and Delphi 12 (Athens) are both main versions, you are fine. Note though, that Delphi 12 will register itself for opening all Delphi related files so double clicking on a project will open it in Delphi 12 which might not be what you want. (All 10.x Versions (10.0 .. 10.4) were main versions, 10.x.y versions were updates to 10.x. Fortunately Embarcadero has stopped this silly numbering scheme now, but we have to live with that legacy.)
  17. Pointers have their uses, but they come with risks. Skilled programmers know how and when to use them, but most important, they don't use them when they are not necessary. They also know that pointers can make debugging hell. Unfortunately there are many programmers who use pointers where they are not necessary. Of course they still think they are skilled, because they use pointers.
  18. Alternatively omit the Count entry and simply read all entries in the section [mru].
  19. dummzeuch

    Hide Status Bar in IDE

    Are you talking about just the tabs for Code, Design and History? No, these cannot be hidden. But if you are talking about the docked windows below that, containg messages, refactoring etc, you can undock that window and dock it somewhere else (I dock most of these on the right hand side) or simply close it. Don't forget to save the desktop otherwise it will pop up again any time the desktop is loaded.
  20. Is that just me or is Delphi adding itself to the main list of the Windows Start menu every time the IDE is started? Is there an option to disable this annoying behaviour? My start menu is full enough, I don't need additional entries that come back even when deleted.
  21. dummzeuch

    Delphi 12 entry in start menu

    I doubt that it is this "helpful" Windows functionality. I start Delphi 10.2 and 2007 a lot more often than Delphi 12 and they don't show up there.
  22. dummzeuch

    Delphi 12 IDE, auto-formatter mutilates generics

    And also, in the most recent source code (no release yet, maybe this weekend, but no promises), it supports multiline strings.
  23. There are currently some unit tests for the GExperts code formatter that fail. It all depends on how spaces after comments {comment} or (*comment*) are handled. A How should the code formatter handle the following code: procedure bla; begin {some comment} SomeStatement; end; A1 Keep the space after the comment: procedure bla; begin {some comment} SomeStatement; end; A2 Remove the space after the comment: procedure bla; begin {some comment}SomeStatement; end; B what about this code: procedure bla; begin {some comment}SomeStatement; end; B1 should the formatter leave it as is? B2 should it insert a space, so it gets changed into: procedure bla; begin {some comment} SomeStatement; end; C what about this code with multiple spaces after the comment: procedure bla; begin {some comment} SomeStatement; end; C1 should the formatter remove the spaces: procedure bla; begin {some comment}SomeStatement; end; C2 or should it reduce them to one space: procedure bla; begin {some comment} SomeStatement; end; C3 or should it leave them as them as they are: procedure bla; begin {some comment} SomeStatement; end; The current code will always remove the spaces, so its A2, B1 and C1. I'm tending towards keeping the number of spaces as they are, that would be A1, B1 and C3. I'm definitely not going to make this configurable. I wouldn't even know how to describe this configuration option.
  24. dummzeuch

    Delphi 12: Install Packages inconsistency?

    That's actually the same frame which is shown in these two dialogs. If a project is loaded, you are viewing and possibly changing the project's configuration. If no project is loaded, you are viewing and changing the default packages loaded by the IDE without a project and for new projects. As far as I remember that has always been the case. (Or I might have misunderstood you.)
  25. dummzeuch

    Delphi 12 is available

    They do. As long as you haven't got an alternative development environment for the work you rely on, you will have to pay for Delphi or stay with an older version.
×