Показать сообщение отдельно

  #17  
Старый 24.05.2010, 21:24
AlexTheC0d3r
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме:
1229135

Репутация: 425
Отправить сообщение для AlexTheC0d3r с помощью ICQ
По умолчанию

Во-первых, в функции потока необходимо
Цитата:
ExitThread(0);
Во-вторых, и чтобы не было этого бредового
Цитата:
Sleep(infinite);
, есть специальная функция
Цитата:
WaitForSingleObject();
Цитата:
Скоко раз так делал все нормально было
Если ты так делал, и было нормально, это совсем не означает что это правильно!
Еще раз повторяю, нет гарантии, что
Цитата:
ProcessMessages();
будет выполняться определенное время/


Надеюсь теперь понятно.

UPD:
Цитата:
function proc(): integer;
begin
Sleep(Твое время задержки);
//Твои действия "второй части" (потока).
result:= 0;
end;

var id: DWORD;
h: THandle;
begin
h:= CreateThread(nil, 0, @proc, nil, 0, id);
//Твои действия "первой части" (потока);
WaitForSingleObject(h, infinite); //ждем завершения созданного потока.
end.
Цитата:
ExitThread(0);
где? Иначе программа никогда не завершится

Последний раз редактировалось AlexTheC0d3r; 24.05.2010 в 21:27..
 
Ответить с цитированием