E
EdwinYeah
Unregistered / Unconfirmed
GUEST, unregistred user!
在<delphi 5 开发人员指南关于dll的第九章,有一个例子,我有一个疑问.
dll中有两个函数
下面这个显示dll中的一个窗体
function ShowCalendar(AHandle: THandle; ACaption: String): Longint;
var
; DLLForm: TDllForm;
begin
; // Copy application handle to DLL's TApplication object
; Application.Handle := AHandle;
; DLLForm := TDLLForm.Create(Application);
; Result := Longint(DLLForm);
; DLLForm.Caption := ACaption;
; DLLForm.Show; ;
end;
下面这个关闭dll中的一个窗体
procedure CloseCalendar(AFormRef: Longint);
begin
; if AFormRef > 0 then
; ; TDLLForm(AFormRef).Release;
end;
为什么TForm和longint之间可以转换且传递?
难道Longint(DLLForm)返回的是一个窗体句柄?但DLLForm是一个TForm的子类呀!
请大侠解惑!
dll中有两个函数
下面这个显示dll中的一个窗体
function ShowCalendar(AHandle: THandle; ACaption: String): Longint;
var
; DLLForm: TDllForm;
begin
; // Copy application handle to DLL's TApplication object
; Application.Handle := AHandle;
; DLLForm := TDLLForm.Create(Application);
; Result := Longint(DLLForm);
; DLLForm.Caption := ACaption;
; DLLForm.Show; ;
end;
下面这个关闭dll中的一个窗体
procedure CloseCalendar(AFormRef: Longint);
begin
; if AFormRef > 0 then
; ; TDLLForm(AFormRef).Release;
end;
为什么TForm和longint之间可以转换且传递?
难道Longint(DLLForm)返回的是一个窗体句柄?但DLLForm是一个TForm的子类呀!
请大侠解惑!