線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:7819
推到 Plurk!
推到 Facebook!

OCX元件使用與包裝

尚未結案
bruce_59714
一般會員


發表:3
回覆:19
積分:9
註冊:2006-07-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-08-04 13:49:26 IP:61.220.xxx.xxx 未訂閱

大家好:

請問當我使用Third Party之Active X Control(OCX元件),如MSCOMM (RS232 COM Port用)安裝於我的Delphi 7中使用,並撰寫程式,執行上均無問題,但是我想將此程式包裝起來(用Delphi 7附的InstallShield),安裝於其他無Delphi環境之電腦使用,結果無法執行,我想一定能需包裝與MSCOMM有關之東西??

請問諸位有包裝過含OCX元件程式的先進,該如何處理(我有包裝過純Delphi之程式,故應不是InstallShield之使用問題)?

謝謝

Bruce

danny
版主


發表:100
回覆:522
積分:595
註冊:2002-03-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-08-09 15:52:43 IP:211.76.xxx.xxx 未訂閱

這個要查出 Third Party之Active X Control(OCX元件)包含那些檔案,可能會有困難.

最好是在 InstallShield 中執行 Third Party Active X Control 元件的 setup 比較保險,我都是這樣作的,只是我不是用 InstallShield 而是用 inno setup.


===================引 用 文 章===================

大家好:

請問當我使用Third Party之Active X Control(OCX元件),如MSCOMM (RS232 COM Port用)安裝於我的Delphi 7中使用,並撰寫程式,執行上均無問題,但是我想將此程式包裝起來(用Delphi 7附的InstallShield),安裝於其他無Delphi環境之電腦使用,結果無法執行,我想一定能需包裝與MSCOMM有關之東西??

請問諸位有包裝過含OCX元件程式的先進,該如何處理(我有包裝過純Delphi之程式,故應不是InstallShield之使用問題)?

謝謝

Bruce

------
將問題盡快結案也是一種禮貌!
bruce_59714
一般會員


發表:3
回覆:19
積分:9
註冊:2006-07-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-08-10 13:58:21 IP:61.220.xxx.xxx 未訂閱

感謝Danny之回應,MSCOMM這個OCX元件是微軟在VB作串列通訊應用之元件,將之安裝至Delphi作串列通訊應用程式開發終究需分發到無Delphi/VB之環境中使用,假設無法透過InstallShield包裝完整時,透過手動至使用者電腦安裝或註冊此元件,可行嗎?該如何做?

我相信一定有人做過同樣的事情,請諸前輩不吝指教,不盡感謝!!

另外,有無哪個包裝軟體可以自動偵測要包裝之執行檔含有其他OCX元件或資料庫Driver等,並自動包進去或提示缺少之資訊等,以節省安裝錯誤之時間,謝謝!!

Bruce

danny
版主


發表:100
回覆:522
積分:595
註冊:2002-03-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2006-08-11 18:16:47 IP:211.76.xxx.xxx 未訂閱

我找到一個安裝MSCOMM元件的方式, 不保證可用你要自己試, 如果測試成功請告知大家.

因為是簡體字我轉為正體中文方便你閱讀.

source: http://delphi.bibts.com/MSCOMM-!-t938062.htm

首先在VB安裝目錄下找到下列三個文件:
Mscomm.reg, Mscomm32.ocx,Mscomm32.dep ,
把這三個文件拷貝到Windows的system目錄下(注意WinNT下是System32)。
然後用Windows下的註冊工具regsvr32註冊該OCX控件,例如:
Regsvr32 … system目錄\Mscomm32.ocx .
註冊成功後用記事本打開Mscomm.reg,可以看到類似下面的內容:
[HKEY_CLASSES_ROOT\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905]
@ = "kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun",為了能正確使用該控件,
需要修改註冊表的信息,在註冊表的在HKEY_CLASSES_ROOT\Licenses下建一主鍵:
4250E830-6AC2-11cf-8ADB-00AA00C00905,主鍵的內容為
kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun.
至此已經完成了控件的系統註冊工作,剩下的工作是在Delphi中導入這個ActiveX控件,
進入Delphi環境在Component菜單下選Import ActiveX Control,這時在列表中可以看到
Microsoft Comm Control 6.0選項, 選中這個選項點擊Install按鈕,完成安裝。在ActiveX
控件頁上可以看到一個電話為圖標的控件,這就是MSComm控件。這樣就可以像在VB中一樣方
便得使用MSComm控件了。

如果,你機器上裝了VB的話,在Delphi中直接安裝即可

另外, 已經有人將MSCOMM包裝成 setup, 不過也是簡體字版

http://www.softking.com.tw/soft/click_share.asp?fid3=2410


===================引 用 文 章===================

感謝Danny之回應,MSCOMM這個OCX元件是微軟在VB作串列通訊應用之元件,將之安裝至Delphi作串列通訊應用程式開發終究需分發到無Delphi/VB之環境中使用,假設無法透過InstallShield包裝完整時,透過手動至使用者電腦安裝或註冊此元件,可行嗎?該如何做?

我相信一定有人做過同樣的事情,請諸前輩不吝指教,不盡感謝!!

另外,有無哪個包裝軟體可以自動偵測要包裝之執行檔含有其他OCX元件或資料庫Driver等,並自動包進去或提示缺少之資訊等,以節省安裝錯誤之時間,謝謝!!

Bruce

------
將問題盡快結案也是一種禮貌!
bruce_59714
一般會員


發表:3
回覆:19
積分:9
註冊:2006-07-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2006-08-14 18:38:23 IP:61.220.xxx.xxx 未訂閱

感謝Danny兄之回應,

在您回應之前我的方法跟您一樣,在有Delphi環境下註冊、安裝及開發程式均無問題,我的問題是如何分發程式至無Delphi環境之電腦!現在已經解決了!有兩種方法:

1.利用InstallShield分發執行檔 手動Copy上述3個Mscomm.srg, Mscomm32.ocx,Mscomm32.dep檔案Copy至使用者電腦並註冊(如您所提)即可。

2.直接於InstallShield將執行檔(任意路徑)與3個Mscomm.srg, Mscomm32.ocx,Mscomm32.dep檔案(需分發至C:\winnt\system32\) 一起包裝,並在InstallShield之Registry選項將Soure之HKEY..Copy至Destination之HKEY..即可。

上述兩種方法我試過均成功,提供大家參考!

Bruce

系統時間:2024-04-26 13:31:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!