1. Не факт, что предыдущий разраб был хорошим.
Тут вопрос не в том, надо ли "рожать" класс, а в том - от какого предка.
Походу надо смотреть весь код, что бы понять, надо ли его рожать от TComponent или все-таки ничего из TComponent не используется и он нафиг не нужен и можно обойтись TObject.
2. Опять же, значит ты не предоставил правильный код. Или имеется в виду, что поток запускается несколько раз? Тут без некоторых важных частей кода не поймешь как оно устроенно. Предоставленный тобой пример может не отражать реальную структуру. Вообще, я бы для начала просто "завернул" бы весь код Execute в Try..Except и залогировал бы появляющуюся ошибку, что бы понять что же там происходит.
3. Я бы, навеоное, создавал его в конструкторе потока. Ну и в деструкторе уничтожал бы.
4. Засовывать ВСЮ обработку данных в Synchronize "не есть гут". Это блокирует основной поток приложения. Synchronize надо использовать только когда идет обращение к объектам главного потока.
PS. Включи расширенный режим редактирования сообщения. Там есть готоыве кнопочки для вставки тегов. Вообще, тут в основном используется 2 тега - code и quote (в кв. скобках, закрывающий тег имеет слеш перед именем).
|