首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> VC 教學

C++ Builder 2007 安裝 ActiveX 控件完整圖文教程 (兩種方案)

     編輯:VC 教學

背景

BCB2007 無法像 BCB6 直接透過 Component → Install Component → Import ActiveX 安裝 .ocx。但實際上可透過遷移 BCB6 產生的包裝檔或手動建立 Package 來安裝。

方案一:遷移 BCB6 產生的包裝檔 (需雙環境)

  1. 在 BCB6 用 Import ActiveX 安裝目標 .ocx (如 ShockwaveFlash.ocx),選擇安裝到新套件 skShockFlash.bpk,編譯通過。
  2. 從 BCB6 安裝目錄 Imports\ 取出產生的四個檔案:
    ShockwaveFlashObjects_OCX.cpp/.h, ShockwaveFlashObjects_TLB.cpp/.h
  3. 複製到 BCB2007 專案資料夾 (如 F:\BCB2007_Add_OCX\flashocx\)。
  4. BCB2007 新建 Package 專案 (File → New → Other → Package)。
  5. 將四個檔案加入 Package,編譯安裝。元件即出現在工具箱。

方案二:直接在 BCB2007 手動建立包裝 (單環境)

  1. Component → Install Component → Import Component → Import a Type Library,選擇 .ocx 對應的類型庫 (或直接選 .ocx 檔)。
  2. 產生單元:ShockwaveFlashObjects_TLB.h/.cpp (若 .ocx 含類型庫) 或 _OCX.h/.cpp (純 ActiveX)。
  3. 新建 Package,加入產生的單元,編譯安裝。
  4. 若報錯「Class not registered」,需先用 regsvr32 ShockwaveFlash.ocx 註冊 .ocx。

常見問題

  • 缺少 stdole2.tlb:從 BCB6 Imports\ 複製過來或安裝 Visual Studio 6.0 執行期。
  • 事件介面無法連結:需在包裝單元中手動補上事件 Sink 類別 (參考 BCB6 產生的 _OCX.h 中的 TShockwaveFlashEvents)。
  • 設計時授權錯誤:某些 ActiveX 需授權檔 (.lic),需放置於系統目錄或專案目錄。

圖文步驟詳見原文截圖 (Package 新建對話框、加入檔案、編譯安裝成功)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved