Hallo zusammen,
ich mach seit einiger Zeit ein paar Gehversuche mit
ISAPI-DLLs, und stehe jetzt vor dem Problem, dass eine Funktion relativ lange braucht, um die Ergebnisse zusammenzusuchen (das können durchaus 5-10min werden).
Mein Lösungsansatz war, dass ich das in zwei Funktionsaufrufe aufteile, ProcessInit(input_data) und ProcessGetResult(out output_data). ProcessInit() würde dann einen Thread erzeugen, die notwendigen Parameter von input_data übergeben und den Thread starten. ProcessGetResult würde überprüfen, ob der Thread abgeschlossen ist, und wenn ja, die Ergebnisse nach OutputData kopieren.
Wenn ich das in einer Standalone-WebServer-Exe laufen lasse, funktioniert das sogar wie gewünscht. Nun hab ich das Projekt als
ISAPI.DLL kompiliert und eigentlich läuft auch alles, nur wird der Thread überhaupt nicht gestartet. Es hat den Anschein, als ob TThread.Start keine Auswirkung hat.
Hat da jemand Ahnung von, oder weiß jemand einen besseren Workaround bei so langen Operationen? Oder hat jemand fertigen Beispielcode?
Wäre klasse, Danke!
Grüße,
Michael