Консультация № 69784
06.01.2007, 20:30
0.00 руб.
0 1 1
Здравствуйте! С Рождеством, Христиане!
Я делаю калькулятор и мне нужна процедура остановки расчета (при очень долгих вычислениях, т.к. длины числел могут перевалить за 2 миллиарда). Т.е. если прога начинает усиленно думать, то при нажатии кнопки она прекращала все свои действия и просто ждала новых заданий. Как это можно осуществить?

Обсуждение

Неизвестный
07.01.2007, 00:10
общий
это ответ
Здравствуйте, Troyan!
С рождеством.
Возможно тебе следует использовать ветви.
Например так:

type
TWorkThread = class(TThread)
private
protected
procedure Execute;
end;

var
WorkThread:TWorkThread;

implementation

procedure TWorkThread.Execute;
begin
{Your job here}
end;

procedure startjob(...);
begin
WorkThread:=TWorkThread.Create(False);
end;

procedure pausejob;
begin
WorkThread.Suspend;
end;

procedure stopjob;
begin
WorkThread.Terminate;
end;

procedure resumejob;
begin
WorkThread.Resume;
end;
Форма ответа