Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.008 c
1-83580
R2D2
2003-05-13 20:45
2003.05.26
Прерывание рассчета в случае исключения


14-83648
Vlad Oshin
2003-05-05 12:58
2003.05.26
Переставил OSь, забыл импортнуть из аськи, всех посеял :(


1-83508
Ш-К
2003-05-15 23:36
2003.05.26
Проверка на приведение типов.


3-83393
bss
2003-05-06 14:02
2003.05.26
Сохранение поля типа TDateTime в базе MS Access (ADO)


7-83760
Yuri20032
2003-03-25 18:12
2003.05.26
Вопрос по реестру...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский