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

Вниз

MDI child из dll   Найти похожие ветки 

 
San   (2003-02-17 22:22) [0]

Сделал subj, но появляется ошибка при создании нового чайлда dll, что то о том, что нет активного окна...

А если делать с включенными packages, то все работает без ошибок...

В чем проблем?


 
Yuri-7 ©   (2003-02-18 07:29) [1]

В модуле DLL:
...
procedure ProvaChild(ParentApplication: TApplication; ParentForm: TForm); export; stdcall;
var
Form1: TForm1;
DllProc: Pointer; { Called whenever DLL entry point is called }
begin
Application:=ParentApplication;
Form1:=TForm1.Create(ParentForm);
Form1.MyParentForm:=ParentForm;
Form1.MyParentApplication:=ParentApplication;
Form1.Show;
end;

procedure DLLUnloadProc(Reason: Integer); register;
begin
if Reason = DLL_PROCESS_DETACH then Application:=DllApplication;
end;
exports
ProvaChild;
begin
DllApplication:=Application;
DLLProc := @DLLUnloadProc;
end.
-----------------------------------
В вызывающей программе:
...
T_ProvaChild = procedure (ParentApplication: TApplication; ParentForm: TForm); stdcall;

var
MainForm: TMainForm;

implementation

{$R *.DFM}

procedure TMainForm.StartClick(Sender: TObject);
var
DllHandle: THandle;
ProcAddr: FarProc;
ProvaChild: T_ProvaChild;
begin
DllHandle := LoadLibrary("ProjectDll");
ProcAddr := GetProcAddress(DllHandle, "ProvaChild");
if ProcAddr <> nil then
begin
ProvaChild := ProcAddr;
ProvaChild(Application,Self);
end;
end;


 
Егорычев Михаил ©   (2003-02-19 09:21) [2]

Нельзя из DLL экспортировать классы...



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

Текущий архив: 2003.02.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
1-87536
В режиме поиска
2003-02-13 15:18
2003.02.27
Как сделать чтобы форма плавно убиралась с экрана


4-87755
maxim2
2003-01-14 11:54
2003.02.27
Как в Win2000 и XP сделать полу прозрачные окна.


7-87723
@ngel
2002-12-28 19:57
2003.02.27
Как добавить кнопку в заголовок окна?


14-87698
Евгений Т.
2003-02-11 18:08
2003.02.27
TCP/IP


3-87308
Serg123
2003-02-10 13:10
2003.02.27
Rave 5