Einzelnen Beitrag anzeigen

blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#8

Re: Anwendung wird durch Herunterfahren abgewürgt...

  Alt 17. Apr 2008, 21:05
@Luckie: Ich habe Windows XP

@marabu: Danke für den Hinweis. Der Code ist jetzt etwas schlanker, aber leider funktioniert es immer noch nicht. Nach ca. 3 Sekunden schließt Windows den Prozess. Die ersten 10 Sekunden hält er also nicht mal durch. Wie soll denn das funktionieren, wenn ich vorher eine große Datenmenge abspeichern will? Ich bin am verzweifeln...

Delphi-Quellcode:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  memo1.Lines.add('Close');
end;

procedure TForm2.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  memo1.Lines.add('QClose');
  thr.Terminate;
  thr.Free;
end;

procedure TForm2.Timer1Timer(Sender: TObject);
begin
  timer1.Enabled := false;

  SetPriorityClass(GetCurrentProcess, IDLE_PRIORITY_CLASS);

  thr := TMyThread.create;
  thr.Resume;
end;

procedure TMyThread.AfterTermination(Sender: TObject);
begin
  form2.memo1.Lines.add('1');
  sleep(10000);
  form2.memo1.Lines.add('2');
  sleep(10000);
  form2.memo1.Lines.add('3');
  sleep(10000);
end;

constructor TMyThread.create;
begin
  inherited create(true);
  OnTerminate := AfterTermination;
end;

procedure TMyThread.Execute;
begin
  repeat
    if Terminated then break;
    form2.Label1.Caption := inttostr(strtoint(form2.Label1.Caption)+1);
  until false;
  form2.memo1.Lines.add('ExecuteFertig');
end;
Gruß
blackdrake
Angehängte Dateien
Dateityp: zip herunterfahren_168.zip (220,4 KB, 1x aufgerufen)
Daniel Marschall
  Mit Zitat antworten Zitat