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

如何讓VB傳值給ActiveForm?

尚未結案
wangks
一般會員


發表:5
回覆:10
積分:3
註冊:2003-12-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-16 22:16:32 IP:203.67.xxx.xxx 未訂閱
為了要將一個用VB開發的系統 和一個用Delphi開發的系統 合併成一個Form 所以將Delphi的Form改寫成ActiveForm 為了告訴Delphi的ActiveForm要做什麼事 所以想要從外部(VB) 用call function及傳值的方式去通知ActiveForm 那我應該要怎麼加這一段? 包括ActiveForm和VB's Form兩部分 努力找問題, 努力找答案
------
努力找問題, 努力找答案
G01
高階會員


發表:249
回覆:379
積分:215
註冊:2002-05-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-17 21:25:56 IP:61.64.xxx.xxx 未訂閱
把轉成ActiveForm的Delphi程式(通常是*.OCX),註冊之後 , 加入VBA模板使用VB進行呼叫該VBA的函數期間再傳入參數即可!! 努力不一定成功 , 不努力一定不成功!!
wangks
一般會員


發表:5
回覆:10
積分:3
註冊:2003-12-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-18 11:34:02 IP:203.67.xxx.xxx 未訂閱
引言: 把轉成ActiveForm的Delphi程式(通常是*.OCX),註冊之後 , 加入VBA模板使用VB進行呼叫該VBA的函數期間再傳入參數即可!! 努力不一定成功 , 不努力一定不成功!!
謝謝您的回答, 可是... 不懂您的意思 VBA模板是放在VB的Form裡頭的嗎? 可否幫我找一個例子可以參考看看的? 努力找問題, 努力找答案
------
努力找問題, 努力找答案
G01
高階會員


發表:249
回覆:379
積分:215
註冊:2002-05-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-11-18 14:07:10 IP:219.87.xxx.xxx 未訂閱
其實你只要把*.OCX 加入VB 的元件區就可以用啦!! 努力不一定成功 , 不努力一定不成功!!
wangks
一般會員


發表:5
回覆:10
積分:3
註冊:2003-12-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-11-18 15:17:06 IP:203.67.xxx.xxx 未訂閱
引言: 其實你只要把*.OCX 加入VB 的元件區就可以用啦!! 努力不一定成功 , 不努力一定不成功!!
謝謝您的回答 我有用regsvr32註冊了那個.ocx檔, VB的控制項也由VB直接加進去了, (設定使用字元→控制台) 也已經把ActiveForm拉到VB的Form了 而且ActiveForm也可以正常運作 問題是 如果我想把ActiveForm裡面的一個元件的觸發 改為由VB端執行 例如: 我把在ActiveForm裡面的Button1隱藏起來, 然後在VB下新增一個Button1 然後在VB下的Button1直接或間接地呼叫ActiveForm的Button1Click(Button1) 那我應該怎麼做? 努力找問題, 努力找答案
------
努力找問題, 努力找答案
G01
高階會員


發表:249
回覆:379
積分:215
註冊:2002-05-21

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-11-18 15:29:55 IP:219.87.xxx.xxx 未訂閱
利用Delphi的TypeLibrary編輯器,設定一些公用的Function...參照下圖 公用的Function會對照到*.PAS的程式碼,然後將Code要實做的部分寫好 重新Compiler -->產生新的*.OCX 重新安裝到VB 利用Sub function 呼叫*.OCX物件中定義的公用的Function,並帶入相關參數 這樣就行囉!! 努力不一定成功 , 不努力一定不成功!!
wangks
一般會員


發表:5
回覆:10
積分:3
註冊:2003-12-17

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-11-18 17:08:25 IP:203.67.xxx.xxx 未訂閱
引言: 利用Delphi的TypeLibrary編輯器,設定一些公用的Function... [恕刪] 努力不一定成功 , 不努力一定不成功!!
找到了, 試試看, 謝謝 努力找問題, 努力找答案 發表人 - wangks 於 2005/11/18 17:23:45
------
努力找問題, 努力找答案
G01
高階會員


發表:249
回覆:379
積分:215
註冊:2002-05-21

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-11-18 17:23:21 IP:219.87.xxx.xxx 未訂閱
你要去修改的*_TLB.pas檔案應該是你所做的那個ActiveXForm所產生的檔案!! 努力不一定成功 , 不努力一定不成功!!
G01
高階會員


發表:249
回覆:379
積分:215
註冊:2002-05-21

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-11-18 17:30:29 IP:219.87.xxx.xxx 未訂閱
參考下圖 努力不一定成功 , 不努力一定不成功!!
G01
高階會員


發表:249
回覆:379
積分:215
註冊:2002-05-21

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-11-18 17:33:51 IP:219.87.xxx.xxx 未訂閱
重新傳一次 努力不一定成功 , 不努力一定不成功!!
wangks
一般會員


發表:5
回覆:10
積分:3
註冊:2003-12-17

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-11-18 17:48:39 IP:203.67.xxx.xxx 未訂閱
引言: 你要去修改的*_TLB.pas檔案應該是你所做的那個ActiveXForm所產生的檔案!! 努力不一定成功 , 不努力一定不成功!!
這是我找到的 可是沒有您說的 AP_SetVariableDataByName 這個function可以用 那是要我新增嗎? 努力找問題, 努力找答案
------
努力找問題, 努力找答案
G01
高階會員


發表:249
回覆:379
積分:215
註冊:2002-05-21

發送簡訊給我
#12 引用回覆 回覆 發表時間:2005-11-18 19:10:37 IP:61.64.xxx.xxx 未訂閱
你看到的那些函式都是我自己新增的,所以你也必須自行新增才行!! 努力不一定成功 , 不努力一定不成功!!
G01
高階會員


發表:249
回覆:379
積分:215
註冊:2002-05-21

發送簡訊給我
#13 引用回覆 回覆 發表時間:2005-11-18 19:19:06 IP:61.64.xxx.xxx 未訂閱
那些Function的名稱也是自定的,這樣說您了解嗎? 重複一次 1.建立ActiveX Form物件 2.編輯該物件的介面(這樣,使用此ActiveX物件的語言(VB/VC),才知道有哪些屬性與Function可以使用) 3. 該編輯器會依照你所制定的介面,產生要以Delphi實作的對應Function (你就在此撰寫,該要做哪些事情) 4. Compiler 為 *.OCX 檔案 5. 註冊到作業系統中.....完成!! 努力不一定成功 , 不努力一定不成功!!
wangks
一般會員


發表:5
回覆:10
積分:3
註冊:2003-12-17

發送簡訊給我
#14 引用回覆 回覆 發表時間:2005-11-19 11:59:09 IP:163.18.xxx.xxx 未訂閱
引言: 那些Function的名稱也是自定的,這樣說您了解嗎? [以下恕刪] 努力不一定成功 , 不努力一定不成功!!
不好意思 因為我沒有用過ActiveX 我要怎麼才知道要加上哪些Function? 而那些Function是怎麼使用的? 努力找問題, 努力找答案
------
努力找問題, 努力找答案
wangks
一般會員


發表:5
回覆:10
積分:3
註冊:2003-12-17

發送簡訊給我
#15 引用回覆 回覆 發表時間:2005-11-28 10:11:39 IP:203.67.xxx.xxx 未訂閱
試出來了, 就是在TLB下新增一個Property, 而不用Method 在外部(VB)就是去讀取或修改那個Property 在內部(Delphi)就在 Get_變數名, Set_變數名內 處理外部(VB)在讀取或修改那個Property時的對應動作 例如: 我新增了一個Property: FileName 而這個FileName, 是以系統時間來命名的 那我就可以在外部(VB)下指令: sFileName = ActiveFormTest.FileName 時 在Delphi的TActiveFormTest.Get_FileName下加上 rusult := FormatDateTime('yyyymmdd', Now); 努力找問題, 努力找答案
------
努力找問題, 努力找答案
系統時間:2024-05-17 13:31:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!