Also - Die
DLL kann in die Exe als Ressource eingebunden werden. Zur Laufzeit entpackt die Exe erst einmal die
DLL irgenwohin (z.B. nach \TEMP), und lädt sie von dort, als wär die
DLL immer schon dort gelegen. Der Vorteil ist, dass man, wenn man das Programm unter die Leute bringen will, nur eine einzige Datei verteilen muss. Zu dem Thema, in Verbindung mit Keyboard Hooks, gibt es ein sehr klares Tutorial:
http://www.delphi-treff.de/tutorials...-hooks/page/5/
Hab das jetzt zurückgestellt, weil ich meinen Hook erst einmal funktionsfähig haben muss, und dass ist extrem mühsam, weil lokal funktioniert er, als globaler Hook nur teilweise, d. h. er ist zwar jetzt in die globale KeyboardHook Kette eingebunden und piepst bei jedem Tastendruck, tut aber trotzdem nicht das, was er als lokaler Hook macht - wenn ich eine Eingabe in die EXE mache, tut er jetzt genau, was er soll, bei einer Eingabe in ein anderes Programm piepst er zwar auch, also ist er da, er macht aber Mist.
Und wie ich die
DLL debugge, ist mir auch noch nicht klar, der Debugger der Delphi
IDE wird mir da ja vermutlich nicht sehr viel helfen. Dazu ist das ganze zeitkritisch, d.h. das Programm verhält sich im Debugger, wenn es bei einem Breakpoint stehengeblieben ist, sowieso anders als wenn es in Echtzeit abläuft. Es wird mir wahrscheinlich nichts übrigbleiben, als doch eine
IPC zwichen EXE und
DLL einzurichten, damit ich Testausgaben in einem Fenster der EXE ausgeben kann.