Показать сообщение отдельно
  #3  
Старый 30.12.2009, 13:54
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

Код показать не могу, но выглядит примерно так:

Код:
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;

Но цикл как продолжал работать, так и работает.
Ответить с цитированием