DLL经典问题,可惜我不会!(100)
为什么我在使用DLL封装MDI子窗体,前面运行都没有问题,可是
一退出就会出现内存错误???(使用静态调用,动态的也试过不行)
看到TDEBUG中出错是在TObject.Free段中,我查了各论坛,好像是
Delphi中的堆栈问题,各大侠有没有什么好方法帮助在下?多谢!
library AssModal;
uses
...
var
DllApp:TApplication;
Function AssCall(App:TApplication;FuncID:Integer;Login_Frm:TLogin_Frm):Boolean;stdcall;
Begin
...
Application:=App;
Form1:=TForm1.Create(App.MainForm);
End;
procedure DLLUnloadProc(Reason : Integer);
begin
if Reason = DLL_PROCESS_DETACH then Application := DLLApp;
End;
Exports AssCall;
Begin
DllApp:=Application;
DLLProc := @DLLUnloadProc;
End;