Форум: "Основная";
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];
ВнизMDIChild в DLL Найти похожие ветки
← →
MaxSit (2002-03-05 13:18) [6]Мой вариант очень похож (привожу ниже), и работает он нормально, но до тех пор, пока нет на форме, например, RxSpliter`a.
При изменении размеров ERROR: Cannot assigned TFont to TFont.
Это все проблемы из TCanvas.SetFont(Value: TFont); {Graphics}
Или если есть SpeedButton на дочерней форме, то он отрисовывается как-то по калечному. Выяснил, что все лечится, если не переопределять Application, если форма модальна и переустановить в DLL Application, то эти ошибки возникают все равно.
DLL:
unit UnitDLL;
interface
uses Forms, Windows, Controls, Messages;
var
OldApplication: TApplication;
OldScreen: TScreen;
procedure StartDICT(NewAppl: TApplication;NewScr: TScreen); StdCall; exports;
procedure OpenForm; StdCall; exports;
implementation
uses MyDLLForm;
procedure StartDICT(NewAppl: TApplication;NewScr: TScreen);
begin
Application:=NewAppl;
Screen:=NewScr;
end;
procedure CloseDICT;
begin
if KolForm=0 then PostMessage(Application.MainForm.Handle,WM_USER+1000,1,1);
{по этому событию в главном приложении идет FreeLibrary, вызываю по событию OnClose дочерней формы}
end;
procedure OpenForm;
begin
if Form1=nil then begin
Form1:=TForm1.Create(Application);
Form1.Show;
end else
Form1.WindowState:=wsMaximized;
end;
initialization
OldApplication:=Application;
OldScreen:=Screen;
finalization
Application:=OldApplication;
Screen:=OldScreen;
end.
MAIN:
procedure TfmMain.LoadDLL;
type TTip1 = procedure(NewAppl: TApplication;NewScr: TScreen); StdCall;
TTip2 = procedure; StdCall;
var MyLoadDict1: TTip1;
MyLoadDict2: TTip2;
hModule: HInst;
begin
hModule:=LoadLibrary(PChar("DLLName.DLL"));
if (hModule<>NULL)and(hModule<>0) then
@MyLoadDict1:=GetProcAddress(hModule,PChar("StartDICT"));
if Assigned(MyLoadDict1) then begin
MyLoadDict1(Application,Screen)
@MyLoadDict2:=GetProcAddress(hModule,PChar("OpenForm"));
if Assigned(MyLoadDict2) then MyLoadDict2;
end;
end;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c