![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TMemoryStream [D5]
кондратий © (2002-08-21 10:56:00)проблема у меня такая ...
создаётса мемористрим
открываетса файлы и обрабатываютса
как правильно убить програму во время его выполнения ?
вот от такой конструкций умирает вся програма ...
procedure TPluginForm.bCloseClick(Sender: TObject);
begin
if (TargetStream <> nil) and (MessageDlg("Do you want cancel this job?",mtInformation,[mbYes,mbNo],0)=mrYes) then
begin
try CloseFile(FM) except end;
try CloseFile(FT) except end;
TargetStream.Free;
EtalonStream.Free;
end;
Close
end;
что делать ???
как лечить ???
кондратий (2002-08-21 13:34:00) [1]мне это проверять во всём проекте ... а это мучения ...
изначяльно не предусматривалось ...
а в тредах как ???
пробывал я что-то такого ...
TMyThread = class (TThread)
procedure Execute; abstract; virtual;
....
begin
DoAllJob;
end;
a вызывал я это так ...
T := TMyThread.Create(false);
T.FreeOnTerminate := true;
T.Resume;
а остонавливал я это дело
T.Terminate;
и полюбому вся эта конструкция глючила ...
Erik Ivanov (2002-08-21 12:59:00) [2]Проверять во время выполнения флаг если он установлен, то выход. Или вобще в тредах все делать.