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

Вниз

Создание отдельной нити, но не простой...   Найти похожие ветки 

 
SPeller   (2003-05-11 14:24) [0]

Всем доброго времени суток!
У меня встала необходимость создать в своей программе нить (Thread), которая будет висеть постоянно и обрабатывать посылаемые из главного потока команды. Слышал я о такой функции, как PostThreadMessage, которая шлёт сообщение потоку и не требует наличия в потоке окна. Так вот, хочу спросить, как мне обустроить получение и обработку таких сообщений отдельным потоком, как заставить поток ждать сообщение (чтобы не загружать процессор циклом), как всё это дело грамотно реализовать. За полезные примеры буду очень благодарен.


 
Polevi   (2003-05-11 19:08) [1]

MsgWaitForMultipleObjects


 
Polevi   (2003-05-11 19:22) [2]

.. или GetMessage

procedure TT.Execute;
var
msg:TMsg;
begin
while not Terminated do
begin
GetMessage(msg,0,0,0);
case msg.message of
WM_QUIT:Terminate;
end;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
t:=TT.Create(false);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
PostThreadMessage(T.ThreadID,WM_QUIT,0,0);
end;



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

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

Наверх





Память: 0.44 MB
Время: 0.008 c
4-68112
ИгорьОк
2003-05-20 04:43
2003.07.21
Доступ к Notepad


1-67784
Igorok
2003-07-09 11:15
2003.07.21
StringGrid


3-67719
Till
2003-06-20 14:19
2003.07.21
IBDatabase


14-68048
Juster~
2003-07-04 15:14
2003.07.21
HELP! Завтра экзамен...


3-67739
Rel_
2003-06-27 16:31
2003.07.21
CRTblDesc





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