Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.006 c
3-69713
oss
2002-03-29 12:03
2002.04.22
ADO login в mssql как ?


1-69884
Alibaba
2002-04-09 12:11
2002.04.22
TStringGrid


14-70003
[NIKEL]
2002-03-02 11:59
2002.04.22
А кто какую программу щас пишет, и кто какую задумывает писать?


14-70006
Merlin
2002-02-26 02:47
2002.04.22
Обсуждение внешнего вида форумов


1-69927
Dimaiv
2002-04-09 19:58
2002.04.22
Где ошибка вот в таком коде





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский