程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 如何在C++ Builder 2007中添加ActiveX控件

如何在C++ Builder 2007中添加ActiveX控件

編輯:關於C++

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:工程文件目錄

// 本文轉自 C++Builder 研究 - http://www.ccrun.com/article.asp?i=1027&d=a5e8r3

圖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]”之後的 注冊代碼即可。如下圖:

【運行效果】

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved