Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.26;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
14-83717
rosl
2003-05-07 06:29
2003.05.26
сумма


3-83368
TankMan
2003-05-03 00:07
2003.05.26
Помогите с полем ID


4-83813
BuildeRR
2003-03-28 22:24
2003.05.26
Вопр по перетаскиванию окошка


9-83317
Jackson
2002-12-15 22:40
2003.05.26
MAX 3D


11-83430
Jazzy$
2002-08-20 15:36
2003.05.26
Listview + ImageList