Ich hab jetzt eine eigene implementierung gemacht, die MadCodeHook benutzt. Wetaus kürzer und lesbarer und funktioniert jetzt wies soll.
Zugegeben, da gabs noch ein anderes Problem:
Meine Applikation linkt gegen PackageA(Was gegen
RTL/
VCL gelinkt ist). Allerdings linkt meine Applikation auch gegen MeineDll, welche auch gegen PackageA linkt. Was bedeutet das? Es zerrümpelt die Reihenfolge in der units initialisiert werden, den dadurch kommen erst die units aus den packages und dann die units aus Meiner Applikation (normalerweise ist das von der Reihenfolge in der Applikation abhängig). Deswegen war auch schon alles initialisiert bevor der erste initialisierungsblock meiner Applikation lief -.-
EDIT: Habe den Verdacht, dass das laden der Packages durch die
DLL auch hierfür verantwortlich ist:
CreateProcessAsUser + Link gegen VCLPackage = kein Application.Handle
Dass muss ich aber nochmal testen