如何引用VB寫的含UI介面的DLL或OCX控制項元件? |
尚未結案
|
asupeduer
初階會員 ![]() ![]() 發表:36 回覆:49 積分:27 註冊:2002-11-08 發送簡訊給我 |
小弟需要引用一個VB寫的DLL檔,把該dll註冊後,import type libary,是一個含有視覺化介面的東西,但該dll加入到bcb的元件頁面後,我另開啟一個form,卻是不含視覺化介面的元件,不知如何把該視覺化物件秀出來,或是我的做法不對呀? 但我換了一個方式,在vb新增一個ActiveX控制項,裡面放了一個按鈕控制項,再把該檔案編譯成ocx檔案,然後把該ocx註冊到系統,也用同樣的方法Import Type Libary,但這時,它卻無法顯示在bcb的VCL元件頁面上,不知道是哪個步驟錯了?或是我用另依種方法,用Component|Import ActiveX Control,也是同樣的結果,無法將該控制項顯示在元件頁面,是我的做法錯在哪呢? 感恩感恩 //------------------------------------------------
我常在想,寫程式跟爬格子到底有什麼不同呢???????????
//------------------------------------------------
------
//------------------------------------------------ 我常在想,寫程式跟爬格子到底有什麼不同呢??????????? //------------------------------------------------ |
RaynorPao
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 小弟需要引用一個VB寫的DLL檔,把該dll註冊後,import type libary,是一個含有視覺化介面的東西,但該dll加入到bcb的元件頁面後,我另開啟一個form,卻是不含視覺化介面的元件,不知如何把該視覺化物件秀出來,或是我的做法不對呀? 但我換了一個方式,在vb新增一個ActiveX控制項,裡面放了一個按鈕控制項,再把該檔案編譯成ocx檔案,然後把該ocx註冊到系統,也用同樣的方法Import Type Libary,但這時,它卻無法顯示在bcb的VCL元件頁面上,不知道是哪個步驟錯了?或是我用另依種方法,用Component|Import ActiveX Control,也是同樣的結果,無法將該控制項顯示在元件頁面,是我的做法錯在哪呢?asupeduer 你好: 看來你的問題一直都還沒有解決 一年前我也做過這樣子的實驗 但是~~一直都無法成功(直到現在) 我也在網路上搜尋過這方面的相關資料 卻好像~~從來沒有人這樣做過 因此~~不禁讓我懷疑這種方式的可行性?? 不知道哪一位大大知道該怎麼做呢?? 還是~~這種方式根本是無法辦到的?? 備註: 因為上述的前因後果~~ 如果想把 VB 寫的 COM(有 UI) 在 BCB 中使用 我是比較不建議這樣子做(因為也不知道該如何做??)
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
ddy
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
我所知道的是~~ VB 所建立的dll 在設計時期所加入的Form 無法被使用
不知是不是因activeX dll 以公寓式的執行緒執行,無法接受強制性回應的表單在其中??
含UI,也許使用ocx 會更適合
若是要實現dll內可顯示表單,用Delphi /BCB 建立dll 是可達成的(此dll不屬ActiveX DLL類) ps:前幾天生病也沒有幫你處理不好意思,我再幫你找看看相關資料吧~~ ===============================================================================
提醒您,貼錯文章可立即傳訊通知該版版主/站長/副站長協助處理,不要放著不管喔
|
asupeduer
初階會員 ![]() ![]() 發表:36 回覆:49 積分:27 註冊:2002-11-08 發送簡訊給我 |
先感謝ddy大哥跟RaynorPao 大大的協助, 這樣說好了,如果我用vb開發一個ActiveX控制項,再登入到系統裡,
是可以用vb呼叫,就是用vb裡面放入原本開發的控制項。
但是如果放到bcb或Delphi好像就沒辦法顯示,但是,這樣並不合理呀?
為什麼有些vb本身的同樣activeX控制項或類似MS CE的控制項加到bcb
裡面還是可以顯示UI介面? 另外不知ddy所說的「activeX dll 以公寓式的執行緒執行」是什麼呢?
其實跟專案負責人討論過後,其實不一定要有UI啦,只是有點困擾,
為啥ocx也沒辦法呢? 那RaynorPao大哥說的如果無UI介面,是怎麼做呢?
因為那件專案的該dll檔案是比照兩個word檔案的相似程度(考試檢核)
且該dll已經開發了兩年多,相當複雜的一個word判斷引擎。
雖然還沒看到那個dll,也不知他們要提供哪些in/out put參數,
但我還是得先自己先搞清楚,不然下禮拜專案會議被「搓破了」,就不好看說。 如果說我要用vb寫一個判斷式判斷某excel上的圖表, 程式碼簡略如下︰
Dim XLobj As Excel.Application
Set XLobj = GetObject(, "Excel.Application") '指定該圖表
XLobj.Application.Charts(1).Select
XLobj.ActiveChart.ChartArea.Select '以下為判斷式
If XLobj.ActiveChart.ChartType = xl3DColumnClustered Then
MsgBox "為立體長條圖形"
Else
MsgBox "不是立體長條圖形"
End If 那如果我要寫成input參數為該Excel檔案路徑,
out put為陣列[i]如︰
----------------------------
立體長條圖 true
數值縱軸列數為3 false
標題字型標楷體 true
標題字型為12 true
...... (因為要把回傳值傳回資料庫做紀錄,或有更好的方法嗎?)
那我該怎麼寫該vb的dll呢?
以及如果用bcb或delphi該如何引用呢? 再次感謝前輩的幫忙 //------------------------------------------------
我常在想,寫程式跟爬格子到底有什麼不同呢???????????
//------------------------------------------------ 發表人 - asupeduer 於 2002/12/22 00:00:39
------
//------------------------------------------------ 我常在想,寫程式跟爬格子到底有什麼不同呢??????????? //------------------------------------------------ |
Register
一般會員 ![]() ![]() 發表:5 回覆:13 積分:3 註冊:2004-03-28 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |