Einzelnen Beitrag anzeigen

Bomberbb

Registriert seit: 23. Sep 2003
227 Beiträge
 
#1

Anwendung beenden während Endlosschleife

  Alt 5. Sep 2008, 09:32
Hallo,

ich hab mir gedacht, es wäre nett, wenn ich meine mittels Tastenkombi ohne Taskmanager beenden könnte, wenn es sich aufhängt.

Hab dann auch folgendes geschrieben:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    Procedure OnAppMsg(Var Msg : TMsg;Var Handled : Boolean);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnMessage := OnAppMsg;
end;

Procedure TForm1.OnAppMsg(Var Msg : TMsg;Var Handled : Boolean);
Begin
  If (Msg.message = WM_KEYDOWN) and (Msg.wParam = VK_F12) Then
      Halt;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  sleep(100);
  showmessage('jetzt');
  while true do
    sleep(0);
end;

end.
Leider funzt das ganze nicht, wenn ich in der Whileschleife bin. Muss ich dafür evtl. einen extra Thread starten???

Gruß

Sascha
  Mit Zitat antworten Zitat