Einzelnen Beitrag anzeigen

C.Schoch

Registriert seit: 2. Jan 2006
Ort: Wüstenrot
235 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Sendevorgang blockiert meine Software

  Alt 25. Feb 2007, 22:13
Hi,
Mit CreateThread übergibst du die Parameter direkt nach der Startfunktion:
Delphi-Quellcode:
ThreadHandle:=CreateThread(nil, 0, TFNThreadStartRoutine(@MailThread),
    {hier}, 0, ThreadID);

      if ThreadHandle<>0 then CloseHandle(ThreadHandle);
end;
wenn du mehr als einen Parameter übergeben willst musst du dir einen record denfineren der die Paramter enthällt.
Warum benutzt du nicht den VCL Thread?
Dort kannst du den Constructor überschreiben und dort die Parameter übergeben.
Auserdem würde ich die eMail Komponente dynamisch innerhalb des Threads erstellen damit ersparst du dir den Syncronisierten Zugriff.

P.S.: Du musst auch warten bis der Thread beendet ist bevor du das Handle schliest, sonst hast du keine Möglichkeit mehr auf den Thread zuzugreifen obwohl er noch läuft.
Tschau Christian
Das System hofft auf Besserung
[Siemens]
  Mit Zitat antworten Zitat