Zitat von
WorstNightmare:
Zitat:
Die
DLL muss dem Haupt-Programm zurückmelden können, dass es jetzt fertig ist.
Suche mal nach CallBack und
DLL
Auch sowas wollte ich vermeiden, wenn es irgendwie anders geht
Es muss doch eine Möglichkeit geben, Performanceschonend zu warten oder?!
Verstehe ich es richtig: die Funktion soll in einer
DLL ausgelagert sein, da sie von vielen Anwendungen verwendet wird?
Für die Kommunikation mit der
DLL gibt es neben dem Callback auch die Verwendung eines Threads in der Hauptanwendung. Denn da die Funktion einige Zeit benötigt, darf sie nicht in deren
GUI-Hauptthread ausgeführt werden.
In einem eigenen Thread dagegen geht es problemlos:
Delphi-Quellcode:
...
Result := ExecDllFunction(Params); // blockiert (den Thread) bis das Ergebnis vorliegt
Synchronize(ShowResult)
...
Die Funktion in der
DLL braucht dann auch keinen Thread zu verwenden.