以下DLL载入时,form为什么不建立(窗体中有许多控件),如何在DLL中载入已建好的窗体? ( 积分: 200 )

  • 主题发起人 主题发起人 陆波
  • 开始时间 开始时间

陆波

Unregistered / Unconfirmed
GUEST, unregistred user!
library newdll;
uses
comserv,
windows,
Dialogs,
forms,
form1 in 'from1.pas' {Form1};//这是窗体文件,内有控件,memo,edit等

var
form1:tform;
//============= myprocedure
procedure runform;
var

hMutex:HWND;
Ret:Integer;
begin //////////////建立窗体
hMutex:=CreateMutex(nil ,False ,'007');
Ret:=GetLastError;
If Ret<>ERROR_ALREADY_EXISTS Then //只建一个窗体,防重复
begin
form1:=tform1.creat;//这一行在测试时执行出错!!为什么
end
Else
begin
showmessage('have creat hmutex');
ReleaseMutex(hMutex);
end;
end; //////////////建立窗体
//============= myprocedure
exports
runform,
dllgetclassobject,
dllcanunloadnow,
dllregisterserver,
dllunregisterserver;
{$r *.tlb}
{$r *.res}
begin
runform;
end.
 
form1:=tform1.create(nil); //或者别的参数
 
后退
顶部