Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

Проверять во время выполнения флаг если он установлен, то выход. Или вобще в тредах все делать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо