关于动态显示另外一个窗体的问题?(50分)

  • 主题发起人 主题发起人 zgjob
  • 开始时间 开始时间
Z

zgjob

Unregistered / Unconfirmed
GUEST, unregistred user!
我的显示另外一个窗体的代码是这样的.
procedure btn1click(sender:tobject);
begin
if application.findcomponent('form2')=nil then
begin
form2:=tform2.create(application);
form2.show;
end else if not form2.showing then
begin
form2.show;
end;
end;

我想把这里的form2做为动态附值这样做一个通用调用窗体的过程.请问题怎样做?
 
procedure TForm1.Button1Click(Sender: TObject);
var
form2:tform;
begin
myformshow(form2);
end;

procedure tform1.myformshow(myform:tform);
begin
if application.FindComponent('myform')=nil then
begin
myform:=tform.Create(application);
myform.Show;
end else
if not myform.Showing then
myform.Show;
end;
 
To zgjob
下面的代码才是您想要的吧
To szmh,
你的代码 只能 Create tform 类 ,不能 Create tform 的子类

procedure TForm1.Button1Click(Sender: TObject);
var
form2: TForm2;
begin
myformshow(TForm2, form2);
end;

procedure tform1.myformshow(InstanceClass: TComponentClass; var Reference);
begin
if application.FindComponent('myform')=nil then
begin
application.CreateForm(InstanceClass, Reference);
TForm(Reference).Show;
end else
if not TForm(Reference).Showing then
TForm(Reference).Show;
end;
 
如果从数据库表中读出窗体名称,怎样做?
 
myformshow 函数 有 2个参数
你从数据库中 读取 窗口名称和窗口的类名称,就可以
 

Similar threads

S
回复
0
查看
896
SUNSTONE的Delphi笔记
S
S
回复
0
查看
873
SUNSTONE的Delphi笔记
S
后退
顶部