Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2

Re: Abbruch wenn der PC arbeitet

  Alt 14. Jan 2004, 14:27
Innerhalb der Prozedure (welche wohl eine Schleife hat) musst Du hin und wieder Application.ProcessMessages; aufrufen, damit der Klick des Users auf den Button registriert wird.

Wenn der User auf den Button klickt solltest Du z.B. eine Boolean-Variable setzen und diese immer in der Schleife überprüfen. Wenn die Schleife feststellt, daß sich der Wert der Boolean-Variable geändert hat, dann bricht die halt einfach ab

Ein Beispiel:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    [...]
    btnAbbrechen: TButton;
    procedure btnAbbrechenClick(Sender: TObject);
  private
    { Private declarations }
    FAbbrechen: Boolean;
    procedure MachMichTot;
    [...]
  public
    { Public declarations }
    [...]
  end;

[...]

procedure TForm1.btnAbbrechenClick(Sender: TObject);
begin
  FAbbrechen := True;
end;

procedure TForm1.MachMichTot;
begin
  FAbbrechen := False;
  while not FAbbrechen do
  begin
    // schwere Rechnung
    [...]
    // und abarbeiten der Messages
    Application.ProcessMessages;
  end;
end;
......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat