![]() |
Auf Thread warten
Hallo,
ich komme leider nicht weiter. Ich möchte das ![]()
Delphi-Quellcode:
Wie kann ich nach dem Befehl CloseHandle warten bis der Thread zu Ende ist ?
procedure TForm1.Button1Click(Sender: TObject);
var Params: PCopyEx; ThreadID: Cardinal; FileList : TStringList; begin cancelCopy := False; FileList := TStringList.Create; New(Params); for i := 0 to FileList.count - 1 do begin Params.Source := 'H:\Videos ungebrannt\' + FileList.Strings[i]; Params.Dest := 'J:\' + Filelist.Strings[i]; Params.Handle := Handle; CloseHandle(BeginThread(nil, 0, @CopyExThread, Params, 0, ThreadID)); end; end; |
Re: Auf Thread warten
Vielleicht hilft
![]() |
Re: Auf Thread warten
Oder WaitForSingleObject ...
|
Re: Auf Thread warten
Wenn ich das ganze so mache, wird immer erst die Datei kopiert nachdem der TimeOut abgelaufen ist :
Delphi-Quellcode:
Was mache ich falsch ?
procedure TForm1.Button1Click(Sender: TObject);
var Params: PCopyEx; ThreadID: Cardinal; FileList : TStringList; wf : DWORD hThread : THandle; begin cancelCopy := False; FileList := TStringList.Create; New(Params); for i := 0 to FileList.count - 1 do begin Params.Source := 'H:\Videos ungebrannt\' + FileList.Strings[i]; Params.Dest := 'J:\' + Filelist.Strings[i]; Params.Handle := Handle; hThread := BeginThread(nil, 0, @CopyExThread, Params, 0, ThreadID); if hThread <> INVALID_HANDLE_VALUE then begin wf := WaitForSingleObject(hThread, 5000); case wf of WAIT_OBJECT_0: ShowMessage('Datei wurde kopiert'); WAIT_TIMEOUT: ShowMessage('TimeOut'); WAIT_FAILED: ShowMessage('Fehler'); end; CloseHandle(hThread); end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:50 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