-
Content Count
2857 -
Joined
-
Last visited
-
Days Won
101
Everything posted by dummzeuch
-
GExperts supports even more laziness
dummzeuch replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
There are two reasons why I didn't want to use DDetours: I didn't want to add yet another 3rd party library to GExperts. Using 3rd party libraries means that with a new Delphi version I have to either update these libraries myself to support the new version or wait for the maintainer to do it. And even if that wasn't a problem, you never know when such a library drops support for older Delphi versions or maybe just adds changes without keeping older Delphi versions in mind. On top of it they always add complexity and increase executable size and memory requirements. DDetours did not compile with Delphi 2007. Since that's currently my main development version this was the end of it. I see the advantage of allowing chained hooks, but supporting Delphi 2007 is still more important to me. -
GExperts supports even more laziness
dummzeuch replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
Yet another expert that's work in progress and doesn't have an icon yet. I think I should add a default icon for those experts that don't have one. Maybe some "roadworks" sign. -
GExperts supports even more laziness
dummzeuch replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
Committed in revision #3209, just in case anybody wants to have a look. Thanks a lot @Mahdi Safsafi I would never have come that far without your help! @Der schöne Günther could you please file a feature request for your suggestion ? -
GExperts supports even more laziness
dummzeuch replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
I know this feeling. 😉 I found some hooking code I had used before and works fine, probably originally from David Heffernan on StackOverflow. It doesn't support unhooking though which is a pity but not really a problem. Yes, Delphi 2007 is the first one I always try. If it works there, it most likely works with all newer versions. I needed to typecast to integer and back to make it compile: PByte(Integer(P) + $A1)^ := 1; // resume = true. (Good thing I don't have to worry about 64 bits as long as the IDE stays 32 bits.) I have got it working now, just not yet quite as polished as I'd like it. Should work for all Delphi versions from 2005 upwards. I'll keep the old code for Delphi 6 and 7. -
GExperts supports even more laziness
dummzeuch replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
I also need the exception class, but that's easy: @Debug@TDebugger@GetExceptionName$qqrv -
GExperts supports even more laziness
dummzeuch replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
var P: PByte [...] P[$A1] := 1; // resume = true. This doesn't compile. Am I right to assume that it sets PByte(P + $A1) to 1 ? Edit: Seems to work, so the assumption probably was right. -
GExperts supports even more laziness
dummzeuch replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
I have been working on this all day. First go get rid of having to use DDetour, because it doesn't compile with Delphi 2007 and older (Haven't checked 2006 and 2005), then to find out where the functions are that I need to hook in older Delphi versions. Now I was in the process of getting it all together, and there you come up with a solution the requires me to start from the beginning again. 😐 (Not that I'm complaining, I'm just a bit frustrated by now. I highly value your input.) -
Drag and Drop Component Suite for Delphi 10.4 Sydney
dummzeuch replied to PeterPanettone's topic in VCL
I'd guess you need to change the package suffix. -
Thanks, fixed in revision #3202
-
GExperts supports even more laziness
dummzeuch replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
I'll give that a try, thanks a lot. -
GExperts supports even more laziness
dummzeuch replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
That sounds a lot easier than it is. Especially since the last assembler code that i really understood was 68000. -
GExperts supports even more laziness
dummzeuch replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
So this is exactly that case where it wouldn't work. But thanks for the link. -
GExperts supports even more laziness
dummzeuch replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
Yeah, I should have written "not trivial" that rather than "cannot". I basically did it this way because it was easy. Unfortunately I'm not as good at this as Andreas Hausladen. He would probably have just hooked the code an be done with it. -
FreeAndNil 10.4 vs 10.3.1 and Pointers
dummzeuch replied to Sherlock's topic in RTL and Delphi Object Pascal
Have you checked whether this code is ever called? Since it must have resulted in runtime errors, I doubt that. So maybe there is a design flaw there. -
FreeAndNil 10.4 vs 10.3.1 and Pointers
dummzeuch replied to Sherlock's topic in RTL and Delphi Object Pascal
This code must crash horribly on the first call to FreeAndNil with a non-nil pointer. So this code was either never used or the memory is already freed and the pointer set to nil before that call. -
FreeAndNil 10.4 vs 10.3.1 and Pointers
dummzeuch replied to Sherlock's topic in RTL and Delphi Object Pascal
At least the Borland/Codegear/Embarcadero version of FreeAndNil never supported anything but instances of TObject descendants. And I doubt that there is a good way to implement this with overloading for other data types in any safe way. -
Translations of the exception notification dialog text
dummzeuch posted a topic in Delphi IDE and APIs
The Delphi IDE shows a notification dialog when an exception occurs during debugging which allows to break or continue: I know what the text on the English version is, but I need the text of the German and French version. (and probably Japanese, though I doubt that I can really use it). Could you please help me out here? -
Translations of the exception notification dialog text
dummzeuch replied to dummzeuch's topic in Delphi IDE and APIs
I even got the Japanese text (using bdssetlang): 'プロジェクト Project1.exe は例外クラス Exception (メッセージ 'bla')を送出しました。' Not sure whether this is correct though and I wonder whether TRegExpr will work with Japanese. But hey, there is an easy way to find out: Simply test it. 😉 Thanks everybody. -
Translations of the exception notification dialog text
dummzeuch replied to dummzeuch's topic in Delphi IDE and APIs
'Le projet Project1.exe a déclenché la classe d'exception Exception avec le message 'bla'.' -
Translations of the exception notification dialog text
dummzeuch replied to dummzeuch's topic in Delphi IDE and APIs
No, no idea. -
Translations of the exception notification dialog text
dummzeuch replied to dummzeuch's topic in Delphi IDE and APIs
Found it: BDSSetLang.exe in the bin folder. -
Translations of the exception notification dialog text
dummzeuch replied to dummzeuch's topic in Delphi IDE and APIs
Thanks. The latter is useful. The first not much, but maybe you could copy and paste just the text (Ctrl+C will copy the whole text of the dialog to the clipboard). How did you get the Japanese (I guess it's Japanese) text? Is there an option to switch the IDE language? In that case I could just do that myself. (Hm, now that I think about this, I seem to remember that this topic came up before in a different context.) -
Translations of the exception notification dialog text
dummzeuch replied to dummzeuch's topic in Delphi IDE and APIs
Nobody? If I don't get the the translations, the latest feature addition for GExperts will only be available for English versions of the IDE, which would be a pita. -
You can't. Only moderators can. For that you need to "report post" it.
-
Recent IDEs are supposed to use up to 3 GB and since the language server is a stand alone executable it might use another up to 3 GB. And 6 GB might be sufficient but definitely is not plenty to run Windows 10 + the Delphi IDE, especially if you also want to run/debug your own executables.