对于一个动态创建的bpl加载窗体,现在可以创建成功,但是我传递进来的是一个字符串(窗体对像名称),这样在作是否已创建判断时用到Tform(bplForm).bri.. ;这样就会出错,在这里bplForm是窗体类对像的话是没有错,但我现在的是字符串,这个对于bpl加载窗体的创建和是否重复判断要怎么样写?请指教,谢谢
procedure TForm1.ShowBplForm( BplForm: string; flag: Integer);
var
Aclass: TFormClass;
n: Integer;
showForm: TCustomForm;
begin
if Pack = 0 then
Pack := LoadPackage('../测试包/Package1.bpl');
if Pack <> 0 then
begin
Aclass := TFormClass(GetClass(BplForm));
if Aclass <> nil then
begin
for n := 0 to Screen.FormCount - 1 do
begin
if ChildForm[n, 0] = nil then
begin
with TFormClass(Aclass).Create(Application) as TForm do
begin
ChildForm[n , 0] := Aclass;
//ChildForm[n , 1] := Caption;
FormStyle := fsMDIChild;
WindowState := wsMaximized;
Break;
end;
end;
end;
end;
end;
procedure TForm1.ShowBplForm( BplForm: string; flag: Integer);
var
Aclass: TFormClass;
n: Integer;
showForm: TCustomForm;
begin
if Pack = 0 then
Pack := LoadPackage('../测试包/Package1.bpl');
if Pack <> 0 then
begin
Aclass := TFormClass(GetClass(BplForm));
if Aclass <> nil then
begin
for n := 0 to Screen.FormCount - 1 do
begin
if ChildForm[n, 0] = nil then
begin
with TFormClass(Aclass).Create(Application) as TForm do
begin
ChildForm[n , 0] := Aclass;
//ChildForm[n , 1] := Caption;
FormStyle := fsMDIChild;
WindowState := wsMaximized;
Break;
end;
end;
end;
end;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货