Форум: "Основная";
Текущий архив: 2003.05.26;
Скачать: [xml.tar.bz2];
ВнизDLL Как плугин? Есть проблемы! Найти похожие ветки
← →
From_X (2003-05-15 16:22) [0]Если вызвать из проекта динамически процедуру из dll и
в этой процедуре создать модальную форму, то действительно так и будет НО, в task bar-е винды,будет второй трей и если нажать на кнопку вызывающего проекта, то модальная форма уйдёт вниз а проект будет также недоступен- Это ни Есть ГУД. Как обойти? и сделать так чтобы вазываемая форма из dll была такой же как если бы её вызвать нормально.
← →
clickmaker (2003-05-15 16:26) [1]В DLL передать Application и Screen и заменить ими соотв. переменные DLL
← →
CHDV (2003-05-15 16:29) [2]передавай в процедуру Application.Handle
и юзай его при создании окна
← →
Вячеслав (2003-05-15 16:31) [3]А потому, что в ДЛЛ свой объект Аппликейшн и Скрин. Их ссылки надо запомнить при инициализации ДЛЛ, а соответствующим переменным в ДЛЛ присвоить значения из основной программы. По окончании все вернуть на место. Вообще-то на эту тему периодически все "трепятся", так что поищи примеры в сети понастырнее. :)
← →
From_X (2003-05-15 16:32) [4]с Application я ещё понимаю
===========
Из проекта
PluginExec(application);
В Dll
function PluginExec(Sender:TComponent):boolean;
begin
o:=TForm2.Create(Sender);
===========
но что делать то с Application.Handle?
← →
clickmaker (2003-05-15 16:36) [5]но что делать то с Application.Handle?
Ничего не надо с ним делать. Достаточно подменить сам Application
← →
Skier (2003-05-15 16:36) [6]===========
Из проекта
PluginExec(Application.Handle);
В Dll
function PluginExec(AHandle : THandle) : boolean;
begin
Aplication.Handle := AHandle;
o:=TForm2.Create(Aplication);
===========
← →
From_X (2003-05-15 16:39) [7]К слову, в dll и в основном проекте я использую одни и те же библиотеки но
в DLL
Grid1.DataSource=TDataSource(SenderForm.findComponent("DataSource1"))
в runtime говорит что типы не подходят.Как обойти?
← →
From_X (2003-05-15 16:46) [8]Ребята с модальной формой, всё получилось, всем спасибо,
я с Dll особенно не работаю, поэтому многие тонкости просто не замечаю.
-----
Про Второй вопрос я тоже конечно слышал, что хотя и типы одинаковые но скомпилённые отдельно Dll воспринимает как другие.
НО я же компилю с типами взятыми с одного источники
← →
Skier (2003-05-15 16:47) [9]
> Как обойти?
Пиши пакеты.
← →
From_X (2003-05-15 16:50) [10]DB :-)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.05.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c