|
Тема |
Поразгледах, май концепцията ми е крива :) [re: Formal] |
|
Автор |
NikB (любопитен) |
|
Публикувано | 28.11.05 18:59 |
|
|
Поразгледах, май концепцията ми (създаване на нишка, която може да не се стартира) е крива :)
Може би трябва да сменя подхода и да избера някой от следните подходи:
1) Предварително да проверявам условията и ако не ми харесат, въобще да не създавам нишка
2) Да създавм нишката винаги, а в execute-то й да проверявам условията и ако не са OK, да прескачам цялото тяло на метода execute и да завършвам работа.
ПП За сведение:
destructor TThread.Destroy;
begin
if not FFinished and not Suspended then
begin
Terminate;
WaitFor;
end;
if FHandle <> 0 then CloseHandle(FHandle);
inherited Destroy;
RemoveThread;
end;
procedure RemoveThread;
begin
EnterCriticalSection(ThreadLock);
try
if ThreadCount = 1 then
PostMessage(ThreadWindow, CM_DESTROYWINDOW, 0, 0);
finally
LeaveCriticalSection(ThreadLock);
end;
end;
|
| |
|
|
|