Показать сообщение отдельно
  #4  
Старый 31.07.2022, 20:46
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

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

PS. Включи расширенный режим редактирования сообщения. Там есть готоыве кнопочки для вставки тегов. Вообще, тут в основном используется 2 тега - code и quote (в кв. скобках, закрывающий тег имеет слеш перед именем).
Ответить с цитированием