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

Вниз

Проблемы с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.006 c
1-226
reg
2002-03-20 16:49
2002.04.01
hidden properites


3-52
urii
2002-03-07 19:09
2002.04.01
переносимость


1-153
Zool
2002-03-21 20:51
2002.04.01
DirectX


1-104
Ольга
2002-03-19 11:53
2002.04.01
Большая просьба!!!


1-134
AlexRaza
2002-03-19 22:08
2002.04.01
Автооткрытие файла





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