Тема: Hint & DLL
Показать сообщение отдельно
  #2  
Старый 17.04.2007, 10:36
Tigrillo Tigrillo вне форума
Прохожий
 
Регистрация: 18.01.2007
Сообщения: 38
Репутация: 10
По умолчанию

мало того, бывает и такое, что после выгрузки dll основной application унаследует из библиотеки настройки компонентов ))) жость полная, я столкнулся один раз.
можно попробовать так, не знаю эффект, но может помочь.
В основном приложениии настрой хинты.
Динамически зососи dll, и передай в основную её функцию application основного приложения.
в dll при create форма пропиши, что создается она от основного application, который ты передал в функцию, по идее, унаследовать должно, но не факт, вообще в библиотеках, ничего не создавай от nil, даже фонарный opendialog.
вот пример

uses forms;
function CreateMyForm(AApplicationa : TApplication); stdcall;
var
DefAppl : TApplication;
MyForm : TForm1;
begin
if AApplication <> nil then
begin
DefAppl := AApplication ;(чтоб ничего с аппликатионом страшного не произошло, мы его сохраним, а потом вернем)
MyForm := TForm1.create(AAplication);
try
MyForm.showmodal;
finally
AAplication := DefAppl;
MyForm.free;
end;
end;
end;

exports
CreateMyForm;
Ответить с цитированием