Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.22;
Скачать: CL | DM;

Вниз

Как остановить ?   Найти похожие ветки 

 
Lego ©   (2002-04-11 02:50) [0]

Сразу приведу пример чтоб понятней было...
unit Unit1;

interface

uses
Windows, SysUtils, Classes, Forms, Controls, StdCtrls;



type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
b:boolean;

end;

var
Form1: TForm1;
implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=0 to 100000 do
if not b then
label1.Caption := IntToStr(i) else exit;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if not b then b:=true else
b:=false;
end;

end.


при нажатии на Button1 запускается счетчик, при нажатии на Button2 он в теории должен остановится... но этого непроисходит... подскажите как можно прервать программу в такум случае?


 
Ra ©   (2002-04-11 03:25) [1]

вставить в цикл вызов Application.ProcessMessage


 
judge_ ©   (2002-04-11 05:58) [2]

А ты чего хотел - у тебя же всё в одном потоке
программа по нажатию button1 входит в Button1Click и там крутиться в цикле - она не обрабатывает никакие события пока не выдет из процедуры и не вернётся к "главному циклу программы" где события и отлавливаются

можешь в момент выполнения цикла поместить поверх своего окна другое, а потом убрать - твоё окно не будет отрисовываться пока не закончиться цикл в Button1Click

Изучай потоки (TSread)


 
Walker ©   (2002-04-11 06:48) [3]

какие потоки???

просто в цикле надо поставить Application.ProcessMessages (чтоб обработалось сообщение о клике мышкой по кнопке)



Страницы: 1 вся ветка

Текущий архив: 2002.04.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
3-69718
Nickolaus
2002-03-29 22:41
2002.04.22
Как


1-69806
MystiX
2002-04-09 18:32
2002.04.22
Help with mouse


3-69660
DmitryV
2002-04-02 09:53
2002.04.22
Количество RecordSet ов


3-69666
Sewix
2002-03-28 20:21
2002.04.22
Поиск по Paradox


14-70007
lipskiy
2002-03-16 17:07
2002.04.22
Как это правильно перевисти и что это значит?