![]() |
Peekmessage einer externen DLL unterbinden?
ich habe hier eine fremde DLL; die eigentlich synchron laufen soll.
Jetzt hat sich der Entwickler dummerweise gedacht, dass er wohl mal irgendwas aufrufen soll, damit das Programm nicht kurz komplett steht. das ist aber nun von mir gerade erwünscht, weil ich mit Threads arbeiten will. Nun taucht das problem auf, dass ich mit CriticalSections die DLL nicht anhalten kann, und beim TEsten zb. ein Buttoclick ausgeführt wird, obwohl der alte Call noch gar nicht fertig ist. Wenn ich mit sleep Warte, dann steht alles, was ein Zeichen ist, dass irgendjemand was mit "Application.Processmessages" in der DLL macht. Was macht diese DLL da böses? und kann man das unterbinden vorher irgndwie? hmmm |
Re: Peekmessage einer externen DLL unterbinden?
Wenn du zugriff auf den Programmierer hast -> erschlag ihn
Wenn nicht -> schreien (bringt einen nicht weiter, aber man fühlt sich kurzzeitig besser) :mrgreen: |
Re: Peekmessage einer externen DLL unterbinden?
Hallo stoxx, jetzt lass ich meinen Fieberphantasien mal freien lauf.
1. Eigenen Proozess erstellen (Projekt1.exe), der Dll einbindet und verwendet. 2. Mit dieser Projekt1.exe eine IPC aufbauen (Pipes, Sockets etc.), Schnittstelle der Dll in IPC einbauen. 3. Dein Programm (Projekt2.exe) Startet Programm (Projekt1.exe) im suspended mode. 4. Wenn Projekt2.exe bereit für "Empfängnis" ist, resume Projekt1.exe, auf IPC Daten warten, und sofort suspend Projekt1.exe usw. und so fort.. Grauenhaft ich weiss! :wall: :gruebel: , am besten du machst dass was "Sir Rufo" geschrieben hat! lg. Astat :drunken: |
Re: Peekmessage einer externen DLL unterbinden?
hmmm ... leider kein Zugriff mehr auf den Programmierer ..
hmmmm .. blöd, blöd .... |
Re: Peekmessage einer externen DLL unterbinden?
Astat .. ich versteh kein Wort *g*
|
Re: Peekmessage einer externen DLL unterbinden?
*post delete* .. ich da nochmal drüber nachdenken .. daran lags nicht ..
|
Re: Peekmessage einer externen DLL unterbinden?
Zitat:
Zitat:
Ich stell hier mal einfach in den Raum, dass die DLL korrekt arbeitet, wie Du das beschrieben hast, kommt mir da nichts ungewöhnlich vor. 1. Dll einfach im Mainthread machen lassen was sie soll. Wenn die Dll Asynchron arbeitet, sollte es egal sein wenn man eine Antwort zurückgibt, bzw. ob dies überhaupt notwendig ist. 2. Die Asynchronen DLL Events in einem Threadsaven Buffer stellen. 3. Diesen Buffer dann mit Threads abarbeiten lassen. Zeigsta mal bitte etwas code? :thumb: lg. Astat |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz