Einzelnen Beitrag anzeigen

SirTwist

Registriert seit: 28. Sep 2006
196 Beiträge
 
Delphi XE Professional
 
#1

Worker-Thread in ISAPI-DLL

  Alt 2. Aug 2011, 14:28
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
  Mit Zitat antworten Zitat