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

Вниз

Проблемы с MDI и DLL   Найти похожие ветки 

 
Alx2 ©   (2002-03-20 16:19) [5]

Короче говоря, делали так:
В DLL переаем контекст Application и Screen. После этого - почти работает. :)
Вот, "на скорую руку" набросал:

DLL:

uses
sharemem,
SysUtils,
Classes,
Forms,
aUnit1 in "aUnit1.pas" {MDIForm1}; // Там сидит обычная форма
Var Save : TApplication;
{$R *.RES}
procedure ClearMdiApp; stdcall;
begin
if Save<>Nil then
Application := Save
end;

function createMDIChild(app : tApplication):Tform; stdcall;
begin
if Save = Nil
then Save := Application;
Application:=app;
Result := TMDIform1.create(app);
end;

exports createMDIChild, ClearMdiApp;

begin
Save := Nil;
end.


Вот основной модуль:

type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
NewMDI1: TMenuItem;
procedure NewMDI1Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
function createMDIChild(app : tapplication):tForm; stdcall; external "mdi.dll";
procedure ClearMdiApp; stdcall; external "mdi.dll";
implementation

{$R *.DFM}

procedure TForm1.NewMDI1Click(Sender: TObject);
begin
CreateMDIChild(Application).FormStyle:=fsMDIChild;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
ClearMdiApp;
end;

end.



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

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

Наверх




Память: 0.46 MB
Время: 0.012 c
3-19
Yulik
2002-03-06 11:33
2002.04.01
DBGrid


3-69
Huliganka
2002-03-06 21:27
2002.04.01
Delphi & MS SQL server


4-362
ctapik-net
2002-01-29 18:45
2002.04.01
Доступ к компу имея логин и пароль.


1-86
d_oleg
2002-03-21 09:30
2002.04.01
BitMap из Dll


1-162
Юрий Федоров
2002-03-22 09:42
2002.04.01
парамерты ShellExecute для поиска файлов