//--窗体2
type
TForm2=class(TForm)
...
end;
//--窗体1
type
TForm1=class(TForm)
public
showform(MyFormClass:Class(TForm));
end; procedure TForm1.showform(MyFormClass:Class(TForm));
var
F:TForm;
begin
F:=MyFormClass.Create(nil);
F.show;
end;procedure TForm1.button1onclick(Sender:TObject);
begin
showform(TForm2);
end;问题是要实现上述功能(主要是过程showform传入参数的问题),由于编译出错,请高手指点迷津
type
TForm2=class(TForm)
...
end;
//--窗体1
type
TForm1=class(TForm)
public
showform(MyFormClass:Class(TForm));
end; procedure TForm1.showform(MyFormClass:Class(TForm));
var
F:TForm;
begin
F:=MyFormClass.Create(nil);
F.show;
end;procedure TForm1.button1onclick(Sender:TObject);
begin
showform(TForm2);
end;问题是要实现上述功能(主要是过程showform传入参数的问题),由于编译出错,请高手指点迷津
解决方案 »
- delphi程序运行后,还可以进入设计器调整窗体界面字段的属性
- Tadodataset控件可以用来给表里insert一条记录吗???在线急等,高手进...
- 怎样捕获因字段输入不符EditMask而产生的错误:Invalid input value,use escape key to abandon changes
- 请帮帮一个delphi的新手!
- Form1.Canvas.Brush.Color:=$00000000+i*$100;
- 大家帮忙看看这个问题,很急!
- 请问如何把Memo内的内容存入到一个文本文件中,请给出源码
- 十万火急啊,delphi的QReport怎么对分组后的每组内容进行排序??
- ICS的TWSocket控件如何使用代理?
- 奇怪,奇怪,這是什么問題啊!
- 再delphi怎样备份数据。和还原数据,举实例!!!
- 这样简单的问题一时想不起来了,各位高手进来帮个忙啊!!
将您的ShowForm方法实现改成如下,OK了!procedure TForm1.ShowForm(TFrmClass: TClass);
var
FrmResult:TForm;
begin
FrmResult := TForm(TFrmClass.Create).Create(Application); if (FrmResult <> nil ) then FrmResult.Show;
end;
或者用Application.CreateForm,来试试。
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type TMyForm = Class of TForm;type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;type
TForm2=class(TForm)
public
procedure CShowForm(MyFormClass: TMyForm);
end;var
Form1: TForm1;
Form2: TForm2;
implementation{$R *.dfm}procedure TForm2.Cshowform(MyFormClass:TMyForm);
var
F:TForm;
begin
F:=MyFormClass.Create(nil);
F.show;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Cshowform(TForm1);
end;end.