发现DELPHI 2005一个有用的特性
DELPHI.NET 可以开发VCL.NET Application, 也可以开发WinForm Application。不过我发现,其实这两种Application是可以做到“你中有我,我中有你”的!也就是说在一个Application中,既可以有VCL.NET Form 也可以有WinForm Form,他们可以互相调用、传递参数。
实验如下:
1、建立一个VCL.NET Application,取名ProjectVCL
2、把生成的unit1存成mainVCL,并在其上放一个button
3、在ProjectGroup中增加一个WinForm Application,取名ProjectWinForm
4、把生成的WinForm存成mainWinForm
5、给mainVCL的button加上onClick事件,代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
LFrm : MainWinForm.TWinForm;
begin
LFrm := MainWinForm.TWinForm.Create ;
LFrm.ShowDialog;
end;
6、加上相应的reference 和 uses 后,运行ProjectVCL, 当点击button时,就可以显示那个WinForm了!
总结:
1、虽然这里没有给出数据通讯的例子,不过这不难做到!
2、之所以要在ProjectGroup中放两个project,是因为DELPHI 2005无法直接在一种project中生成不同的Form,但是可以加入已存在的其他类型的Form。
3、这个特性提供了一个更加方便的VCL--->VCL.NET--->WinForm的无缝移植的可能性,我相信难点不在VCL.NET--->WinForm。
实验如下:
1、建立一个VCL.NET Application,取名ProjectVCL
2、把生成的unit1存成mainVCL,并在其上放一个button
3、在ProjectGroup中增加一个WinForm Application,取名ProjectWinForm
4、把生成的WinForm存成mainWinForm
5、给mainVCL的button加上onClick事件,代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
LFrm : MainWinForm.TWinForm;
begin
LFrm := MainWinForm.TWinForm.Create ;
LFrm.ShowDialog;
end;
6、加上相应的reference 和 uses 后,运行ProjectVCL, 当点击button时,就可以显示那个WinForm了!
总结:
1、虽然这里没有给出数据通讯的例子,不过这不难做到!
2、之所以要在ProjectGroup中放两个project,是因为DELPHI 2005无法直接在一种project中生成不同的Form,但是可以加入已存在的其他类型的Form。
3、这个特性提供了一个更加方便的VCL--->VCL.NET--->WinForm的无缝移植的可能性,我相信难点不在VCL.NET--->WinForm。
posted on 2005-09-10 11:22 Bo Chen Lin 阅读(722) 评论(3) 编辑 收藏 举报