Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];

Вниз

Работа с формой из dll   Найти похожие ветки 

 
Леприкон   (2004-01-29 12:43) [0]

Как создать форму, находящуюся в dll, так что бы её владельцем было приложение, обращающееся к этой dll?

Сейчас делаю так:

код из dll

..................
var
vFCoder:TFCoder;

function CreateCoder:boolean; stdcall;
begin
try
vFCoder:=TFCoder.Create(Application);
Result:=true;
except
Result:=false;
end;
end;

procedure DestroyCoder; stdcall;
begin
vFCoder.Free;
end;

procedure ShowCoder; stdcall;
begin
vFCoder.Show;
end;

exports
CreateCoder,
DestroyCoder,
ShowCoder;

.................

Возможно ли сделать что то вроде этого-

function CreateCoder(AOwner:TComponent):TForm; stdcall;
begin
Result:=TFCoder.Create(AOwner);
end;


 
Digitman   (2004-01-29 13:12) [1]

конечно, возможно

но как минимум при условии, что и там и там используется соглашение о сборке Build With Run-Time packages или (если иначе) версии Делфи, в которых разрабатывались хост-приложение и библ-ка, едины

а stdcall в данном случае совершенно ни к чему - лишние "тормоза", хоть и не ощутимы на первый взгляд


 
Игорь Шевченко   (2004-01-29 13:25) [2]

Или передавать Application.Handle из приложения в DLL.
Или передавать Application и Screen из приложения в DLL.

Читать Тейксейру и Пачеко, Delphi 5 руководство разработчика.


 
Digitman   (2004-01-29 13:27) [3]

можно вообще ничего не передавать
если волнует автоматическое корректное уничтожение формы при завершении приложения, то просто поместить ее диструктор в раздел финализации библ-ки



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.008 c
4-29677
Shiza
2003-12-05 12:37
2004.02.10
дочернее окно на WinAPI


1-29332
dmk
2004-02-02 01:36
2004.02.10
TThread


3-29262
Samvel
2004-01-17 13:10
2004.02.10
относительная ссылка


1-29353
Леприкон
2004-01-29 12:43
2004.02.10
Работа с формой из dll


14-29556
NeyroSpace
2004-01-20 18:36
2004.02.10
CM_TEXTCHANGED





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский