如何做一个创建窗体的通用的过程(100分)

  • 主题发起人 主题发起人 wypalf
  • 开始时间 开始时间
W

wypalf

Unregistered / Unconfirmed
GUEST, unregistred user!
过程如下:
procedure TFormGround.ExtendClick(OpenedForm: TCustomForm;TOpenedForm: TComponentClass);
begin
OpenedForm:=(TOpenedForm.create(application) as TCustomForm);
show;
end;
这样做窗口是能创建的,但是别的窗口调用其窗口的资源就不行了,不知哪位高手能指点方向
 
application.create
 
思路对了可是你写错了
OpenedForm:=TOpenedForm.create(application);
这样就行了。
 
这样不行的连编译都通不过
 
替换你的函数如下:
procedure TForm1.ExtendClick(var Reference;TOpenedForm: TComponentClass);
var
Instance: TComponent;
begin
Instance := TComponent(TOpenedForm.NewInstance);
TComponent(Reference) := Instance;
try
Instance.Create(Self);
except
TComponent(Reference) := nil;
raise;
end;
TCustomForm(Instance).show;
end;
 
接受答案了.
 
后退
顶部