X
xwb
Unregistered / Unconfirmed
GUEST, unregistred user!
代码如下:
function ShowCalendar(AHandle: THandle
ACaption: String): TDateTime;
var
DLLForm: TDllForm;
begin
// Copy application handle to DLL's TApplication object
Application.Handle := AHandle;
DLLForm := TDLLForm.Create(Application)
try
DLLForm.Caption := ACaption;
DLLForm.ShowModal;
Result := DLLForm.calDLLCalendar.CalendarDate
// Pass the date back in Result
finally
DLLForm.Free;
end;
end;
在Delphi中,DLL中的Application和主程序的Application不是一个。就像D5开发人员指南
上说的一样,DLL中的Application和调用他的主程序是分离的。
我在CB中测试了上述代码,发现CB中DLL没有自己的Application,CB中的DLL自动继承主程序的
Application。我们用C++写DLL,DLL入口函数都有一个HINSTANCE变量传递给DLL,
标识DLL句柄,供我们使用,是不是Delphi和CB采用不一样的机制,用Application代替C++中的
HINSTANCE。不知我的理解对不对,希望对此有所了解的人,参与讨论。
我的email:david_ms@163.com希望和大家交流。
function ShowCalendar(AHandle: THandle
ACaption: String): TDateTime;
var
DLLForm: TDllForm;
begin
// Copy application handle to DLL's TApplication object
Application.Handle := AHandle;
DLLForm := TDLLForm.Create(Application)
try
DLLForm.Caption := ACaption;
DLLForm.ShowModal;
Result := DLLForm.calDLLCalendar.CalendarDate
// Pass the date back in Result
finally
DLLForm.Free;
end;
end;
在Delphi中,DLL中的Application和主程序的Application不是一个。就像D5开发人员指南
上说的一样,DLL中的Application和调用他的主程序是分离的。
我在CB中测试了上述代码,发现CB中DLL没有自己的Application,CB中的DLL自动继承主程序的
Application。我们用C++写DLL,DLL入口函数都有一个HINSTANCE变量传递给DLL,
标识DLL句柄,供我们使用,是不是Delphi和CB采用不一样的机制,用Application代替C++中的
HINSTANCE。不知我的理解对不对,希望对此有所了解的人,参与讨论。
我的email:david_ms@163.com希望和大家交流。