VCL.Net 之家

探讨VCL.Net的技术,特别是从VCL迁移到VCL.Net的经验和技巧

导航

发现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。

posted on 2005-09-10 11:22  Bo Chen Lin  阅读(722)  评论(3编辑  收藏  举报