Наследники OIT
Дата: 14.02.2003 15:44:12
Хочу создать приложение без формы так чтобы оно не прекращалось после выполнения основного модуля, а оставалось в фоне. Пробую создать дополниетльный поток и запустить в нем процедуру с пустым цикллом, но почему-то она не запускается. Вот кусок кода:
hThread := CreateThread (nil, 0, @NullThreadProc, nil, 0, ThreadId);
ResumeThread (hThread);
где:
Function NullThreadProc () : Longint; StdCall;
Begin
While True Do Sleep(2000);
End;
Кто-нибудь знает как вообще можно решить такую проблему???
Заранее благодарен (quasar@front.ru)
alex_k
Дата: 14.02.2003 16:50:44
вообще я всегда думал что в функцию Function NullThreadProc () : Longint; StdCall;
нужно передавать параметр типа поинтер (4 байта в смысле).
Во вторых трид это дщерь процесса, нет процесса нет трида. Значит нужно трид оставлять в памяти. Хотя окна можно поубивать, дело вкуса. Но вот что непонятно. ЗАЧЕМ ТРИД? сделай тотже пустой цикл в конце основного модуля да и все.
StarWind
Дата: 16.02.2003 10:59:16
попытаюсь перекомпилировать в код то что сказано в предыдущей мессаге :))
в основном потоке можно сделать что-то вроде
while true do
begin
// ваш код
...
Sleep(0); // отдадим операционке управление, так, на всякий случай
end