在Delphi中如何做到VB中的ActiveX控制項 |
答題得分者是:sryang
|
cliffdean
一般會員 ![]() ![]() 發表:9 回覆:14 積分:4 註冊:2004-12-07 發送簡訊給我 |
請教各位先進:
我在VB中可以設計出ActiveX控制項(使用者控制項),
在網頁中可以透過Script傳入傳出變數例如
ActiveX控制項裡面
//以下為VB中的程式片段
function StrAdd(s1 as string,s2 as string) as string Dim rtnStr as string rtnStr = s1 & s2 end function在網頁中可以這樣呼叫 <OBJECT id="myObj" name="myObj" CLASSID="CLSID:4CD88709-13FF-4E59-0115-70859D5C63EF" CODEBASE="http://192.168.1.131/activex/myObj.cab#version=1,0,0,1"> </OBJECT> <input type='button' value='讀取資料' > function Test(){ alert(myObj.StrAdd('str','1234'); }執行該網頁按鈕之後會秀出 str1234, 那請問一下如果要用Delphi改寫VB的部分要怎麼做, 我是了很久,在傳入傳出參數的時候會有問題, 我確定是用pchar來傳入傳出但是真的不行, 是不是可以煩請大大指導一下! |
sryang
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
|
cliffdean
一般會員 ![]() ![]() 發表:9 回覆:14 積分:4 註冊:2004-12-07 發送簡訊給我 |
|
sryang
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
|
cliffdean
一般會員 ![]() ![]() 發表:9 回覆:14 積分:4 註冊:2004-12-07 發送簡訊給我 |
sryang 大大:
其實我根本沒有寫什麼程式,我只是光試資料傳入傳出就有問題了,
我希望在網頁上
<OBJECT id="myObj" name="myObj" CLASSID="CLSID:4CD88709-13FF-4E59-0115-70859D5C63EF" CODEBASE="http://192.168.1.131/activex/myObj.cab#version=1,0,0,1"> </OBJECT> <input type='button' value='讀取資料' > function Test(){ alert(myObj.StrAdd('str','1234'); }Delphi的部分也很簡單只是去接收網頁傳進來的兩個變數'str'跟'1234', 直接回傳一個字串如'str1234',讓網頁可以alert出來, 現在就是Delphi的部分不知道怎麼做,但是在VB可以做的到, 是否可以示範一個簡單的範例,要怎麼傳入傳出變數。 |
sryang
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
步驟如下: 1. New ActiveX Library
<HTML> <OBJECT id="myObj" name="myObj" CLASSID="CLSID:3830D551-032F-48FF-A716-C1902525F977" CODEBASE="http://localhost/test/project1.cab"> </OBJECT> <input type='button' value='讀取資料' > function Test(){ alert(myObj.Method1('str','1234')); } </HTML></pre> 其中的 CLASSID 部分,從這裡取得:
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/ |
cliffdean
一般會員 ![]() ![]() 發表:9 回覆:14 積分:4 註冊:2004-12-07 發送簡訊給我 |
謝謝 sryang 大大:
辛苦大大做的這麼詳細,但是有一點小問題
我做到第9步的時候,因為沒有辦法選擇 Web Deploy Options選項,
因此我就按照網頁上的方式,先新增一個Active Form,
新增完後Type Liberary後的結果如下
|
cliffdean
一般會員 ![]() ![]() 發表:9 回覆:14 積分:4 註冊:2004-12-07 發送簡訊給我 |
|
sryang
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
引言: 我剛剛試了一下,如果改用Active Form來做, 就可以傳入傳出,但是還有一個小小的問題, 就是每一次重整他都會要求重新下載ActiveX, 不過sryang大大已經解決了變數傳入傳出的問題, 在此獻上最高的敬意!1. ActiveX Form 有他自己需要用的類別與介面,不要隨意刪除 我示範用的是 Automation Object,裡面一開始只有一個空的介面 2. 重新下載 ActiveX 的問題,可以在網頁中 CODEBASE 這一行 把 #version=1,0,0,1 部分刪除 3. IE 安全性選項的問題,只要把 CODEBASE 這一行寫到的網站 設定成「信任的網站」就好了 加油喔,喵~
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |