-
Content Count
2855 -
Joined
-
Last visited
-
Days Won
101
Everything posted by dummzeuch
-
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?
-
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.
-
Convert Lat:Lon to LKS-92
dummzeuch replied to Janex72's topic in Algorithms, Data Structures and Class Design
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. -
INTAServices.AddMasked seems to be broken in Delphi 12
dummzeuch replied to dummzeuch's topic in GExperts
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) ... -
INTAServices.AddMasked seems to be broken in Delphi 12
dummzeuch replied to dummzeuch's topic in GExperts
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. 😞 -
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.
-
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.
-
Where to put an app in Windows startup and shutdown and sleep mode?
dummzeuch replied to JohnLM's topic in General Help
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 -
INTAServices.AddMasked seems to be broken in Delphi 12
dummzeuch replied to dummzeuch's topic in GExperts
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. -
Favorite feature(s) of other editors that Delphi does not offer
dummzeuch posted a topic in Delphi IDE and APIs
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.) -
Issue with Color Names Overlay in Object Inspector
dummzeuch replied to Shrinavat's topic in Delphi IDE and APIs
If nobody files a bug report, there will be no fix. -
Warn about second instance of the IDE starting
dummzeuch replied to Jud's topic in Delphi IDE and APIs
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. -
Issue with Color Names Overlay in Object Inspector
dummzeuch replied to Shrinavat's topic in Delphi IDE and APIs
By filing a bug report with Embarcadero -
Is there a Metadata reader/writer/editor unit for FMX/Android?
dummzeuch replied to JohnLM's topic in FMX
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.) -
Increasing registration count not possible without active maintenance support
dummzeuch replied to Leif Uneus's topic in Delphi IDE and APIs
If that's the case, take them to court. I'm pretty sure that's illegal in most countries. -
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.)
-
How can I force a record to be allocated on the heap ?
dummzeuch replied to dormky's topic in Algorithms, Data Structures and Class Design
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. -
Creating a recent folder location list in an INI file
dummzeuch replied to JohnLM's topic in Algorithms, Data Structures and Class Design
Alternatively omit the Count entry and simply read all entries in the section [mru]. -
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.
-
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.
-
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.
-
Delphi 12 IDE, auto-formatter mutilates generics
dummzeuch replied to A.M. Hoornweg's topic in Delphi IDE and APIs
And also, in the most recent source code (no release yet, maybe this weekend, but no promises), it supports multiline strings. -
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.
-
Delphi 12: Install Packages inconsistency?
dummzeuch replied to PeterPanettone's topic in Delphi IDE and APIs
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.) -
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.