EXE工程和OCX工程的转化计算机等级考试

文章作者 100test 发表时间 2010:01:01 09:35:50
来源 100Test.Com百考试题网


  1 从EXE到OCX工程此类转化有一个常用的也可以说较笨的的方法,把EXE工程主Form上的所有元素和其事件处理程序都拷贝过来。此法虽说稳妥,但麻烦的一塌糊涂。容易让人头大。下面着重介绍一个比较快捷省事的办法,通过类的继承来实现转化。概括来说,就是把EXE工程的主Form直接作为OCX工程的主Form,并把其父类由TForm改为ActiveForm。详细介绍如下。
  (1)准备工作
  在开始之前,最好把EXE工程的所有文件如.pas、.dfm(工程.dpr等除外)拷到一个新的目录下。如果不想这样做,也可以把OCX工程保存到同一目录,但不要和EXE工程重名,以免覆盖。生成一个ActiveForm(注意:此保持空白,不要往其上放任何组件),为了便于说明,设其name为ActiveFormX,单元文件存为ActiveFormX.pas,同时保存OCX工程。假设原来主Form的name为frmMain,单元文件为MainForm.pas.
  (2)改变继承关系
  打开MainForm.pas,找到TfrmMain类的声明部分:把TfrmMain = class(TForm)改为TfrmMain = class(TActiveFormX)
  (3)把frmMain作为工程的主Form
  打开ActiveFormX.pas,找到initialization 部分,如下所示:initialization TActiveFormFactory.Create(ComServer, TActiveFormControl, TActiveFormX,Class_ActiveFormX, 1, \’\’, OLEMISC_SIMPLEFRAME or OLEMISC_ACTSLIKELABEL, tmApartment).
  把第五行中TActiveFormX改为TfrmMain,这样OCX工程的主Form就成了原来EXE工程的主Form,即TfrmMain。
  (4)属性声明
  查看一下delphi源码,可以看到下面的继承链条: TCustomForm-

相关文章


计算机二级辅导:TreeView使用笔记计算机等级考试
关于在COM中使用可选参数的研究计算机等级考试
在Delphi中如何使用RC文件中的字符串表计算机等级考试
计算机二级辅导:如何实现API钩子计算机等级考试
EXE工程和OCX工程的转化计算机等级考试
如何取得系统中的桌面的路径计算机等级考试
轻松实现DBGrid的多表头计算机等级考试
关于读写注册表二进制数据的问题计算机等级考试
在Delphi中捕获控制台程序的输出计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛