如何在 C++Builder2007 中添加 ActiveX 控件

精华|其它|编辑:郝浩|2008-06-17 11:29:37.000|阅读 1349 次

概述:  BCB2007 的发布是一件令人振奋的事情,它强大的功能和良好的稳定性让我决定从BCB6.0 转向2007。   BCB2007 的变化还是比较大的,它不能像6.0那样方便地安装我们的ActiveX 控件,甚至有些网友说它根本不能安装ActiveX 控件,这样导致了广大网友对BCB2007的不满。BCB2007真的无法安装我们的ActiveX 控件吗? 答案是:可以安装。   详细的安装方案看下面的描述吧,有2个方案。   【方案一】   条件:安装有BCB6.0 和 BCB2007   步骤:   (1)   这里我们用flash 控件 Shockwav

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

  BCB2007 的发布是一件令人振奋的事情,它强大的功能和良好的稳定性让我决定从BCB6.0 转向2007。

  BCB2007 的变化还是比较大的,它不能像6.0那样方便地安装我们的ActiveX 控件,甚至有些网友说它根本不能安装ActiveX 控件,这样导致了广大网友对BCB2007的不满。BCB2007真的无法安装我们的ActiveX 控件吗? 答案是:可以安装。

  详细的安装方案看下面的描述吧,有2个方案。

  【方案一】

  条件:安装有BCB6.0 和 BCB2007

  步骤:

  (1)
  这里我们用flash 控件 ShockwaveFlash.ocx 做例子。 用BCB6.0 添加需要安装的ActiveX 控件ShockwaveFlash.ocx(这里省却过程,大家都会的了,不会的看网络教程),注意,我们将其安装到新组件包skShockFlash.bpk中,编译安装通过后就是我们的关键工作了。

  (2)
  将刚才生成的几个文件找出来,它们在BCB安装目录的Imports的子目录(比如 C:\Program Files\Borland\CBuilder6\Imports),这几个文件是:

ShockwaveFlashObjects_OCX.cpp ShockwaveFlashObjects_OCX.h
ShockwaveFlashObjects_TLB.cpp ShockwaveFlashObjects_TLB.h

  将这些文件复制出来,放到一个目录去(比如:F:\BCB2007_Add_OCX\flashocx\),然后开启BCB2007 ,准备在它里面安装我们的ShockwaveFlash.ocx 。

  (3)
  打开BCB2007 后,新建一个组件包工程:File-->New-->Other... 选择 Package 。如图1:



图1:新建 Package 工程

  新建组件包工程后,我们在未修改之前保存工程名为 skFlash 。保存到上面步骤2中说的目录中去(F:\BCB2007_Add_OCX\flashocx\)。这样一来,工程就跟我们刚才的那四个文件在同一目录了图2。

  附带保存前后工程的结构图,图3(左)的默认工程结构 和 保存后(右)的默认结构。



图2:工程文件目录



图3:工程结构

  (4)
  我向组件包添加我们的需要的组件:在 skFlash.bpl 上右键--Add ,选择我们的刚才4 个文件中2 个CPP 文件,见图4:

点击查看大图

图4 选择组建文件

  添加之后我们可以看到新的文件结构,图5。



图5 添加完组件文件


  (5)
  此时,我们可以进行编译和安装了。skFlash.bpl 上右键-->Build ,编译通过后,我们再次右键-->Install ,安装成功后即可使用!

点击查看大图

  (6)
  注意,安装完毕记得将 h 文件 加入BCB的 搜索目录, 或者直接复制到 Include 目录。

  【方案二】

  件:仅仅安装有BCB2007

  注意:本方案 跟BCB2007 版本有关!我的版本是:Version 11.0.2709.7128 。如果版本不同,本方案不行的话请参考方案一!

  步骤:

  (1)
  菜单 Component --> Import Component ,打开Import Component 向导对话框,选择 Import ActiveX Control ,下一步,选择 ShockwaveFlash 之后,下一步,设置工程文件的保存位置,这里是 E:\CodeGear\RAD Studio\5.0\Imports, 继续下一步,直到完成。





点击查看大图

点击查看大图

   (2)
  此时并没有我们想像中的工程,只有一个cpp 文件显示在界面上。这个CPP 文件就在刚才我们保存的目录下:E:\CodeGear\RAD Studio\5.0\Imports\。

  我们新建一个组件工程(详细步骤见方案一),保存在E:\CodeGear\RAD Studio\5.0\Imports\ ,名为 skFlash2 。此时刚才的cpp文件也在此目录下,

  参考方案一,将它们添加进来安装即可使用!

  (3)
  注意,用BCB2007 生成的 cpp 文件可能编译不过,解决方如下:
首先在 ShockwaveFlashObjects_OCX.cpp 和ShockwaveFlashObjects_OCX.h 文件中,去掉 TFlashObjectInterface 和 TFlashProp 这2个类的相关代码即可编译通过,安装成功。
其次在 ShockwaveFlashObjects_OCX.cpp 中文件末尾 Register 函数中去掉 注释 “// [2]”之后的 注册代码即可。如下图:

点击查看大图

【运行效果】

点击查看大图


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:CSDN

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP