KRB> Я сам DM тоже перенес в тред чтоб гарантировать, что его никто больше
KRB> снаружи не трогает, в ТОМ ЧИСЛЕ VCL компоненты типа гридов всяких. И 
KRB> рекомендуется датасеты отключать от датасорсов, т.к. VCL может сунуться
KRB> за данными в любой момент.

     Насколько я знаю FibPlus - при закррытии БД, закрываются и
     все DataSet'ы ... так что насчёт гридов я не беспокоюсь ...
     А вообще-то я не понял как ты DM (TDataModule) перенёс в
     тред ?

KRB> Это тут нафиг не надо, и скорее вредно.

     Что именно ?

>>       bErr := True;
>>       AppELog('Процесс' + STRTask[FTask] + 'Не эапущен, ошибка: ' + 
>> E.Message, True);
>>       Resume;
KRB> Resume в блоке обработки ошибок??????? Бред!!
KRB> Или ты чего-то пересокращал...

         Не там флаг bErr выставляется ...

>> procedure   TExec.Execute;
>> begin
>>   if bErr then Exit;

     и здесь отрабатывается ...
     дабы попасть коректно на дестуктор ...
     (ну чтоб что в лоб, что по лбу - одинаковый путь ...)

KRB> Raise тут совершенно не в тему, как и в остальных местах - выкинь нафиг.
     попробую ...

KRB> Он дергает основной поток,
     Что ???? ЛЮБОЙ raise ???
     это что-же получается в треде низя использовать ничего (например
     тот же FibPlus) если внутрях есть raise ?
     Ты точно не путаешь ?

KRB> А про то что на альфе работало - вспоминается старый анекдот
KRB> "Если вам с первого раза удалось написать программу, в которой 
KRB> компилятор не обнаружил ни одной ошибки - сообщите об этом сисадмину, он
KRB> исправит ошибки в компиляторе" ;-)

     ;) Хоть и с бородой, но улыбнуло - спасибо ...

С уважением,
Константин Григорьевич.
===============


Ответить