Код показать не могу, но выглядит примерно так:
Код:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DateUtils;
type
TMyThread = class(TThread)
private
{ Private declarations }
protected
procedure MyMethod;
procedure Execute; override;
end;
implementation
uses Unit1;
{ TMyThread }
procedure TMyThread.MyMethod;
var
i: INTEGER;
j: INTEGER;
k: integer;
begin
for j := 0 to 999 do begin
...
for i := 0 to 999 do begin
...
for k := 1 to 999 do begin
...
end;
...
end;
end;
...
end;
procedure TMyThread.Execute;
begin
try
Synchronize(MyMethod);
except
end;
end.
В кнопке:
Код:
procedure TForm1.bPauseClick(Sender: TObject);
begin
P.Suspend; //P - глобальная переменная
end;
Но цикл как продолжал работать, так и работает.