Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
ВнизЗагрузка формы из Dll в TPanel основного приложения Найти похожие ветки
← →
Bams (2004-12-10 15:41) [0]В приложениии:
...Panel1.Hide();
@GetPlugin := GetProcAddress(LibraryHandle, "GetPlugin");
Plugin := GetPlugin();
Plugin.Load(Application, Panel1);
Panel1.Show();
...
Код Dll:procedure TPlugin.Load(AApp: TApplication; AParent: TWinControl);
begin
DLLApp := Application;
Application := AApp;
frmPlugin := TfrmPlugin.Create(nil);
//frmPlugin.ParentWindow := AParent.Handle;
frmPlugin.Parent := AParent;
frmPlugin.Show();
end;
Так вот. Если в dll пишу frmPlugin.Parent := AParent; то форма грузится в панельку как надо, т.е. делает все аллигны. НО! При попытке работать с контролами вываливается "control has no parent window" :(
Идем далее. Меняем на frmPlugin.ParentWindow := AParent.Handle; все контролы загруженной формы начинают работать как надо, но форма имеет размер 1024х768 (это внутри панельки) и на изменение размеров панели никак не реагирует. :(
Посоветуйте что-нибудь, замучался уже.
Да, и еще. Реализация с помощью пакетов не подходят.
← →
Семен Сорокин © (2004-12-10 16:05) [1]попробуй передвать Application.Handle + Screen.Handle (их подменять)
PS. посмотри еще сюда:
http://www.delphimaster.ru/articles/book/Chap09.pdf
PSS. Для отображения в "панели" существуют фрэймы (TFrame)
← →
Bams (2004-12-10 16:14) [2]
> попробуй передвать Application.Handle + Screen.Handle (их
> подменять)
Да вот вроде ж аппликейшн подствляю, и с TScreen тоже пробовал -
эффет тот-же.procedure TPlugin.Load(AApp: TApplication; AParent: TWinControl);
begin
DLLApp := Application;
Application := AApp;
А с фреймами тоже пробовал пишет что "cant assign TFont to TFont" - куча ругательств выходит.
TFont-ы разны у Dll и приложения (адреса)
← →
Bams (2004-12-10 17:08) [3]Так что будут какие идеи?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.043 c