Показать сообщение отдельно
  #1  
Старый 21.08.2023, 22:39
evgen29 evgen29 вне форума
Прохожий
 
Регистрация: 21.08.2023
Сообщения: 1
Версия Delphi: Delphi 7
Репутация: 10
Восклицание вызов ole объекта из потоков

Здравствуйте! Есть объект ole automation, хранящийся в activex library. Т.е. сначала создал activex library, затем объект automation object из вкладки activex. Есть у него тестовый метод, который пишет одну строку в лог(для каждого потока лог называется по разному).

Есть клиент на delphi, в котором по кнопке в цикле идет создание потоков, а в их методе execute идёт обращение к этому объекту ole automation и вызов его метода для записи в лог.

Проблема в том, что несмотря на попытку разграничить запись в лог, идет запись в разнобой в разные логи и получается белеберда. Как мне вызвать для каждого потока свой automation object? пробовал разные варианты instance и threading model для создания com-объекта. По идее должны работать multiple instance и tmFree, но они не работают. Или есть вариант, что не поддерживаются в delphi 7 еще, хотя и объявлены.
Может кто в курсе. Код прилагаю.(exe - клиент, com_2 объект автоматизации в dll)
Вложения
Тип файла: zip LogTestManyThreads.zip (295.8 Кбайт, 3 просмотров)
Ответить с цитированием