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

Вниз

THREADS !!!   Найти похожие ветки 

 
Digitman   (2001-11-28 17:32) [4]


const
const tm_terminate_thread = wm_user + ...;


type

TMyThread = class (TThread)
...
protected
...
procedure execute;override;
...
public
destructor Destroy; override;
end;


TForm1 = class(TForm)
...
public MyThread: Thread
...
end;

implementation

destructor TMyThread.Destroy;
begin
if not Suspended then
PostThreadMessage(ThreadId, tm_terminate_thread, 0, 0);
inherited Destroy;
end;

procedure TMyThread.Execute;
begin
if not Terminated and not PeekMessage(0, tm_terminate_thread, 0, 0, PM_REMOVE) then
SomeShortStatementSequence1
else
Exit;
if not Terminated and not PeekMessage(0, tm_terminate_thread, 0, 0, PM_REMOVE) then
SomeShortStatementSequence2
else
Exit;
if not Terminated and not PeekMessage(0, tm_terminate_thread, 0, 0, PM_REMOVE) then
SomeShortStatementSequenceN
else
Exit;
//... и т.д., раз уж цикл не устраивает
end;

procedure TForm1.CreateSuspendedThreadButtonClick(Sender: TObject);
begin
MyThread := TMyThread.Create(true);
end;

procedure TForm1.SuspendThreadButtonClick(Sender: TObject);
begin
MyThread.Suspend;
end;

procedure TForm1.ResumeThreadButtonClick(Sender: TObject);
begin
MyThread.Resume;
end;

procedure TForm1.SafeTerminateThreadButtonClick(Sender: TObject);
begin
MyThread.Free;
end;

procedure TForm1.KillThreadButtonClick(Sender: TObject);
begin
MyThread.Suspend;
MyThread.Free;
end;



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

Форум: "WinAPI";
Текущий архив: 2002.01.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.004 c
3-99879
Filat
2001-12-27 10:52
2002.01.31
Как можно сделать следующее: база данных Access -> IIS -> WEB страница


4-100109
swr
2001-12-03 15:05
2002.01.31
Как удалить несколько строк в Excel средстами Delphi ?


7-100075
Win
2001-10-20 12:56
2002.01.31
TRegistry


6-100028
Landgraph
2001-11-08 10:34
2002.01.31
Перехват запросов...


1-99951
Маша
2002-01-14 10:13
2002.01.31
Добавить TabSet в StatusBar





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский