![]() |
Formular regiert nicht zur Laufzeit
Hallo,
offenbar ist die Sache so simpel, dass sie nirgendwo steht... Wie bringe ich mein Formular dazu, während es beschäftigt ist auf Benutzereingaben zu reagieren? Zur Verdeutlichung hier ein ganz einfachss Beispiel
Delphi-Quellcode:
Wenn ich hier einmal Drücken von Button1 gedrückt habe, reagiert das formular und mit ihm Button2 nicht mehr.
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; stopit : Boolean ; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i:Longint; begin stopit:=false; while not stopit do i:=i+1; end; procedure TForm1.Button2Click(Sender: TObject); begin stopit:=true; end; end. Die Variante, ein zweites Form darüber zu legen ist mir zu unsauber... Danke schonmal Thomasch |
Re: Formular regiert nicht zur Laufzeit
Delphi-Quellcode:
in die Schleife, damit die Messages zwischendurch abgearbeitet werden.
Application.Processmessages
|
Re: Formular regiert nicht zur Laufzeit
Zitat:
das programm bleibt in Button1Click drinne. solange eine callback-funktion (z.B Button1Click) ausgeführt wird, kann das form auf nix anderes reagieren. ich würde für die "Arbeit" einen neuen Thread aufmachen. dann ist das form nur solange beschäftigt, bis der neue thread angelaufen ist. im form kannst du dann auf weitere aktionen reagieren (z.B. den thread wieder beenden). gruessle |
Re: Formular regiert nicht zur Laufzeit
Danke - ich dachte es gibt sowas, was repaint und ProcessMessages vereint.
Immrehin wirkt sich das "nichtreagieren" ja auf das ganze Form aus. Viele Grüße Thomasch |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:57 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 by Thomas Breitkreuz