窗体的问题 我如何声明一个对象能表示几个窗体,我在一个程序里面有几个窗体,但是每次只有一个窗体显示,我如何声明一个变量能表示这些窗体里的任何一个,比如在C++里面可以用它们共同的父类TForm的指针来指向这些派生类,在Delphi里面应该也也这种类似的声明方法吧. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var CommonForm:TForm;begin CommonForm:=TForm1.Create(self); try CommonForm.ShowModal; finally CommonForm.Free; end; CommonForm:=TForm2.Create(slef); try CommonForm.ShowModal; finally CommonForm.Free; end;end;以上使用一个TForm的对象,来实现两个从TForm继承来的Form,Form1和Form2,实现一些通用操作。但是如果你要实现的操作不在TForm中的话,你需要从TForm继承出一个TBaseForm,实现,或者只是定义你要实现功能的接口,然后从该TBaseForm继承实现具体的TForm1和TForm2,另外也可以使用Interface,只声明接口类型,具体实现在继承该Interface的class中完成。 一样啊,也是用TForm啊,唯一不同的是DELPHI中是用类变量的TMyForm = class(TForm)begin...end;var MyForm1,MyForm2,MyForm3...,MyForm : TMyForm;...begin MyForm := MyForm1; // 之前MyForm只定义但不实例化(Create),而MyForm1,MyForm2...是实例化的 ... MyForm := MyForm2; ...end; 好像写错了一点,应该是:TForm:=(TForm)TForm1.Create(self); "Upnp Delphi Component"究竟要什么版本的Indy?!! stringgrid的问题????(在线等...) delphi中如何写winnt的系统服务程序,在线等 ?? 用quickrep做报表,怎样显示boolean型字段(急) 现分结账 关于调制解调器的问题 求源代码!!!!! 一个报表问题。 一个很菜的初级ODBC问题 动态库加载出错如何解决? 怎么办?
CommonForm:TForm;
begin
CommonForm:=TForm1.Create(self);
try
CommonForm.ShowModal;
finally
CommonForm.Free;
end; CommonForm:=TForm2.Create(slef);
try
CommonForm.ShowModal;
finally
CommonForm.Free;
end;
end;以上使用一个TForm的对象,来实现两个从TForm继承来的Form,Form1和Form2,实现一些通用操作。
但是如果你要实现的操作不在TForm中的话,你需要从TForm继承出一个TBaseForm,实现,或者只是定义你要实现功能的接口,然后从该TBaseForm继承实现具体的TForm1和TForm2,另外也可以使用Interface,只声明接口类型,具体实现在继承该Interface的class中完成。
TMyForm = class(TForm)
begin
...
end;var
MyForm1,MyForm2,MyForm3...,MyForm : TMyForm;
...begin
MyForm := MyForm1; // 之前MyForm只定义但不实例化(Create),而MyForm1,MyForm2...是实例化的
...
MyForm := MyForm2;
...
end;
TForm:=(TForm)TForm1.Create(self);