А>Что-то у тебя с синхронизацией... Попробуй вместо ShowMessage написать Sleep(1000). Если тоже "помогает", то похоже проблемы с синхронизацией VCL-потока и создаваемого потока. Напиши подробнее: что у тебя в MyThreadTerminate и т.п.
Извините, в первый раз был не зарегистрирован.
Sleep(1000) тоже помогло
С остальным описывать нечего т.к. оставил только каркасы
Для MyThreadTerminate
осталось только:
procedure TPHRSpooler.MyThreadTerminate(Sender : TObject);
begin
ShowMessage('Terminated!');
MyThread := nil;
end
;
Без ShowMessage... MyThreadTerminate не вызывается.
конструктор с деструктором убирал совсем
(оставил только Execute c FreeOnTerminate := true)
из основного приложения с плагинами работаю примерно так:
...
var
CommonPlugin : ICommonPlugin;
begin
...
CommonPlugin.Run;
...
end;
Чего не могу понять, так это чем отличается запуск с диалогом от запуска без него?
Например: не создается скрытое окно потока?