Delphi DLL动态调用判断子窗体是否存在 20
Delphi主窗体调用动态调用DLL的一个子窗体。怎么判断子窗体是否已存在(在主窗体中已打开),如果打开则只需要置前动态调用代码如下://DllFormName为DLL中...
Delphi 主窗体调用动态调用DLL的一个子窗体。 怎么判断子窗体是否已存在(在主窗体中已打开),
如果打开则只需要置前
动态调用代码如下:
// DllFormName 为 DLL中的一个子窗体
// ParentForm 为 主窗体
Application := App;
TheClass := GetClass(DllFormName);
if (TheClass = nil) then exit;
if TheClass.InheritsFrom(TForm) then
begin
try
if Application.FindClass(DllFormName) = nil then
begin
aForm := TForm(TheClass.Create).Create(ParentForm);
aForm.FormStyle := fsMDIChild;
aForm.Show;
end;
aForm.BringToFront;
finally
FreeLibrary(ParentForm.Handle);
end;
end;
如有解答可邮件zhuohs@sunrise-textile-group.com
if Application.FindClass(DllFormName) = nil then 这段代码是错误的,需要改正或做其它判断 展开
如果打开则只需要置前
动态调用代码如下:
// DllFormName 为 DLL中的一个子窗体
// ParentForm 为 主窗体
Application := App;
TheClass := GetClass(DllFormName);
if (TheClass = nil) then exit;
if TheClass.InheritsFrom(TForm) then
begin
try
if Application.FindClass(DllFormName) = nil then
begin
aForm := TForm(TheClass.Create).Create(ParentForm);
aForm.FormStyle := fsMDIChild;
aForm.Show;
end;
aForm.BringToFront;
finally
FreeLibrary(ParentForm.Handle);
end;
end;
如有解答可邮件zhuohs@sunrise-textile-group.com
if Application.FindClass(DllFormName) = nil then 这段代码是错误的,需要改正或做其它判断 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询