Delphi: в DLL как-то криво работают потоки

NataNata

есть основная прога, которая подгружает DLL, внутри которой необходимо создать потоки. Проблема в том, что в Execute-методе потока не получается вызывать Synchronize: если попробовать, то дальнейшего выполнения Execute не будет, а процесс пойдет выполнять код основной программы, но не DLL-кин.
что с этим можно сделать?

Andbar

1) DLL тоже на дельфи? И спользованием стандартных дельфишных классов? А экземпляры этих классов из DLL-ки как-либо взаимодействуют с экземплярами каких-либо стандартных классов с основной программой?
2) Признаков появления ошибок в новых потоках не наблюдается?

tosha777

Synchronize(Х) вызывает метод Х из главного потока. Он в твоей длл-ке вообще существует (главный поток)?

tosha777

лажу я написал, не обращайте внимание

Corrector

А если попробовать SendMessage из dll или Callback-фунцию и вызывать твою функцию действительно из главного потока? Мне кажется, Synchronize может глючить если в dll,
Synchronize сильно по-разному устроен в Delphi <6 и >=6. Какая у тебя версия дельфи? если <6, надо делать апгрейт

NataNata

короче, я забил и сделал через SendMessage
дельфи 7
Оставить комментарий
Имя или ник:
Комментарий: