Naja, Loadlibrary macht schon Sinn, weil dann kannst Du die
DLL als Resource ins exe-File packen und brauchst nur eine Datei zu installieren. Kommt dann dran, wenn die
DLL selbst funktioniert.
Riesenfrust: Ich habe den SimpleTimer ausprobiert, an und für sich eine feine Komponente: Statt über 500KB mit TTimer wiegt meine
DLL mit SimpleTimer nur mehr ca 120KB. Aber sie stürzt genauso ab, und nachdem ich mir die Implementierung angeschaut habe, brauche ich gar nicht erst selbst einen Timer zu basteln, das Problem dürfte der Timper-
API Aufruf selbst sein, der das ganze zum Absturz bringt. Ich versteh nur nicht, woran es liegt, es muß doch im Prinzip in DLLs möglich sein, einen Timer zu setzen. Anscheinend geht es aber nicht von in einer globalen Hookroutine aus, verstehen tu ich das überhaupt nicht.
Werde mich jetzt also noch mit
IPC beschäftigen müssen und meine zwei Timer ins Hauptprogramm übersiedeln. Zumindest erübrigt sich damit die (ohnehin schon negativ beantwortete) Frage, ob ich das Hauptprogramm entladen und die
DLL trotzdem in Betrieb bleiben kann, weil so brauch ich das exe File auf jeden Fall weiter. Und fad wird mir dabei auch nicht.
AArgghh!!!
Edit: Ich habe jetzt doch eine einfachere Möglichkeit gefunden. Innerhalb der
DLL kann man nämlich sehr wohl einen Timer verwenden, nur in der Hook Routine selbst darf ich offenbar keinen starten. Damit wird es nur wenig komplizierter als geplant, ich brauche zumindest keine
IPC zwischen
DLL und EXE zu bauen.