Главная страница
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.013 c
3-83421
_Al
2003-05-07 10:06
2003.05.26
DBGrid


4-83799
xShadow
2003-03-28 14:36
2003.05.26
Как с помощью API функций изменять позицию курсора ???


14-83649
BillMustDie
2003-05-05 00:11
2003.05.26
E-mail Билла Гейтса срочно!!!!


4-83786
den_c
2003-03-25 13:25
2003.05.26
Как получить Handle главного окна приложения в котором моя DLL


3-83409
DBDev
2003-05-06 18:55
2003.05.26
Коллеги, запрос в MSSQL работает, а в MS не хочет, помогите