Einzelnen Beitrag anzeigen

gee21

Registriert seit: 3. Jan 2013
199 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: system.zip "Freeze" verhindern?

  Alt 14. Jul 2016, 20:59
So hat zwar etwas gedauert aber jetzt habe ich immerhin schon mal teilweise etwas geschafft.
Danke euch dafür sehr.


Mein Problem im Moment ist allerdings, dass ich es zwar schaffe den Thread komplett durchlaufen zulassen. (Dafür benutze ich waitfor; ) ich habe aber bemerkt das der Code im Mainthread nicht auf den Thread wartet und den nachfolgenden Code sofort ausführt (Also hier im Beispiel: Code2).

Gibt es eine einfache Möglichkeit den "code2" erst nach dem Thread Ende durchzuführen?


Im Moment versuche ich dass so:

MAINTHREAD:
Delphi-Quellcode:
TForm1.Button1Click(Sender: TObject);
begin
code1..
code1....
code1......

 TMyThread1.Create(False);

code2..
code2....
code2.....
end;


THREAD
Delphi-Quellcode:
type
TMyThread1 = class(TThread)
procedure Execute; override;
end;


procedure TMyThread1.Execute;
var i: Integer;
begin
if directoryexists(form3.Edit1.Text+'res_mods\'+wotversion) then TDirectory.Delete(form3.Edit1.Text+'res_mods\', true);

forcedirectories(form3.Edit1.Text+'res_mods\'+wotversion);

tdirectory.copy(ExtractFilePath(Application.Exename)+'deff\res_mods',form3.Edit1.Text+'res_mods');

if directoryexists(ExtractFilePath(Application.Exename)+'inf') then TDirectory.Delete(ExtractFilePath(Application.Exename)+'inf', true);
forcedirectories(ExtractFilePath(Application.Exename)+'inf');
synchronize(Thread1sync);
waitfor;
end;
Robert
  Mit Zitat antworten Zitat