全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:4686
推到 Plurk!
推到 Facebook!

透過Browser(如IE6)來執行, Delphi寫好的應用程式

答題得分者是:bigdogchina
max5020
資深會員


發表:29
回覆:277
積分:321
註冊:2003-06-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-17 17:24:11 IP:211.22.xxx.xxx 未訂閱
我看過有人寫好的Delphi程式,透過某個OCX,就可以用Browser來執行,請問那是怎麼辦到的啊??
likush
高階會員


發表:5
回覆:235
積分:103
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-17 17:43:14 IP:218.32.xxx.xxx 未訂閱
建議你可以從ActivexForm的方式去找,相關資料站上均有各高手之回答,可以去搜尋參考。或從李維所作之"delphi 5.0 分散式多層式應用"裡亦有相關之作法說明。若有其他問題歡迎討論。
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-18 12:45:24 IP:211.162.xxx.xxx 未訂閱
不好意思,小弟插個花: 非常贊同likush大大的建議,一個ActiveX控制項就是一個非常小的程式,在製作網頁方面,可以把它插入到Web頁中或者在VB Script等Script中使用,它的祖先是VBX元件,接著叫OCX元件,最後演化爲ActiveX員件,它就象常規程式使用的命令按鈕、單選鈕和列表框一樣。    而我們在Delphi中可以很輕鬆的實現,利用ActiveForm,因爲ActiveForm也是一種ActiveX元件,只是ActiveForm本身是一個Container物件。可以理解爲AcitveForm包含了其他元件,而ActiveForm和它包含的元件可以變成一個OCX類型元件,再利用IE這個COM/AcitveX Container應用程式之中 ================================= <>人生在勤,不索何獲 <>業精於勤荒於嬉,行成於思毀於隨 <>臨淵羡魚不如退而結網
------
人生在勤,不索何获?
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-19 01:58:25 IP:211.162.xxx.xxx 未訂閱
不好意思,小弟又一次的插花,請原諒: 小弟參考李維大師的"delphi 5.0 分散式多層式應用"中第10章的相關描述,以及站內衆多前輩的解析: http://delphi.ktop.com.tw/topic.php?topic_id=24461 http://home.pchome.com.tw/home/delphiwww/a39.htm 以及趙海先生的實做: http://delphi.mychangshu.com 試著自己來實做。下面是完整的製作流程,請不妨參考一下,或許對解決相關問題會有所啓迪: 1 製作一個ActiveForm(File--->Other--->New Items--->ActiveX) 2 單擊上圖的OK後出現下圖 我們就可以按Delphi7默認的方式(當然也可以改成您想要的名稱啊),只需要留意一點:最好將<>>這個選項勾上,因爲版本資訊不但可以讓我們控制用戶端的 > >), src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=17221899&CC=385161"> 在該Form上放如一個Button,測試一下,在OnClick中輸入:

procedure TActiveFormX.Button1Click(Sender: TObject);
begin
  ShowMessage('I Love KTop');
end;
4 一個基本的ActiveForm是完成了,現在我們需要的是Web發佈,如下圖 單擊後接著出現下圖,進行詳細的設置 需要注意一下:Target dir(Full path of the deployed OCX)是指的是ActiveForm要分發的目的地位置。Target URL(Virtual path of the deployed OCX)是指該ActiveForm位於HTML首頁中codebase tag的位置。HTML dir(Full path of the deployed HTML file)是指在Delphi7分發ActiveForm元件的時候會自動的幫助我們産生一個HTML的首頁檔案的位置。除了這3項是必須設置外,我們還應該留一下:Include file version numberAuto increment release number,前者在第2步中選擇了Include Version Information後就會在這裏自動幫我們勾選。而後者則代表每當我們重新編譯該ActiveForm時自動的增加其版本號。如此一來當伺服器中分發新的ActiveForm元件之後,用戶端訪問該頁面時就會自動下載該ActiveForm並更新執行 5 做完這一切後,當然就是發佈測試網頁了哦,如下圖: 6 好啦,來試試吧,如下圖: 奇怪,爲什麽會出現這樣的情況呢,無法正常顯示 7 別擔心,我們還有下面的步驟要接著做呢 在這之前,先看看> 對於 > 現在將利用> > 注意哦,後兩個>開始---&>運行中輸入<>>,如下圖: < src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=17225029&CC=385231"> 說明:參數-n指定主題的證書名稱。此名稱必須符合 X.500 標準。最簡單的方法是在雙引號中指定此名稱,並加上字首 CN=;例如,"CN=myName"。注意這裏的CN必須大寫。-sk指定主題的密鑰容器位置,該位置包含私鑰。如果密鑰容器不存在,系統將創建一個。輸入makecert -?可以查看其他參數的用法。 然後會出現下面的兩幅畫面: 因爲是測試,小弟設置的密碼很簡單,都是:123456(實際應用可不能這麽簡單哦)。然後就會在當前目錄(>>和<>>的兩個文檔 >開始---&>運行中輸入<>>,如下圖: < src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=17226281&CC=385259"> 9 現在該是SignCode.exe出場的時候啦: 運行SignCode.exe(由於設置都非常簡單,我就不囉嗦了,圖中有相應的設置) 同理,上圖所設置的密碼還是123456 默認是爲sha1演算法,不過小弟比較偏好md5,請根據實際情況來做 這裏留意一下,我們可以使用別人的時間戳哦,嘿嘿,在其中輸入:http://timestamp.verisign.com/scripts/timstamp.dll Oh,my god,數位簽名終於完成了! src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=17230976&CC=385364"> 最後的效果圖如下: 還需要注意一點就是,我們在第4中的設置Target URL時,選擇的是當前機器(http://BIGBOSS-LSJ),如果是自己測試的話,當然OK的啦!當別人試圖訪問時,就會顯示錯誤,所以我們要修改一下ActiveFormProj1.htm,將其codebase="http://BIGBOSS-LSJ/ActiveFormProj1.ocx#version=1,0,0,0"改爲codebase="http://211.162.133.251/ActiveFormProj1.ocx#version=1,0,0,0",這樣就可以啦! PS:)小弟的一點淺見,實際目的是抛磚引玉,讓真正的高手顯身,還請前輩們多多批評。。。。。。。。槽糕,都淩晨2點過了,小弟先行告退,睡覺去啦 ================================= <>人生在勤,不索何獲 <>業精於勤荒於嬉,行成於思毀於隨 <>臨淵羡魚不如退而結網 發表人 -
------
人生在勤,不索何获?
likush
高階會員


發表:5
回覆:235
積分:103
註冊:2002-10-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-19 10:16:35 IP:211.23.xxx.xxx 未訂閱
精彩! bigdogchina兄將實作面貼出來了,我想這又造褔了不少版眾了。 插個花,在activex方式,亦可將原有之應用程式加以應用,而不需作太大之修改,更可便於您將原有之系統搬至IE上。再則運用這種方式,網路傳輸方面也要列入考量,可以package方式考慮。有錯,歡迎指正。
hhuang
一般會員


發表:0
回覆:1
積分:0
註冊:2003-01-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-08-20 04:57:09 IP:219.84.xxx.xxx 未訂閱
感謝 bigdogchina 兄這麼完整的說明,真是不可多得的好文章,謝謝!
a903
一般會員


發表:5
回覆:13
積分:3
註冊:2003-08-27

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-09-13 09:32:06 IP:202.39.xxx.xxx 未訂閱
我有找到: Cert2spc.exe Makecert.exe SignCode.exe 但下面的檔案卻遍尋不著, DIGSIG.DLL SIGNER.DLL 有沒好心人,指點一下.
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-09-13 10:06:42 IP:211.162.xxx.xxx 未訂閱
引言: 我有找到: Cert2spc.exe Makecert.exe SignCode.exe 但下面的檔案卻遍尋不著, DIGSIG.DLL SIGNER.DLL 有沒好心人,指點一下.
在Microsoft的.NET Framework找找 ================================= <>人生在勤,不索何獲 <>業精於勤荒於嬉,行成於思毀於隨 <>臨淵羡魚不如退而結網
------
人生在勤,不索何获?
a903
一般會員


發表:5
回覆:13
積分:3
註冊:2003-08-27

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-09-13 11:25:10 IP:202.39.xxx.xxx 未訂閱
我在 .Net framework SDK 還是沒找到下列檔案, DIGSIG.DLL SIGNER.DLL 不過我照你的方法作,還是可以用啊 !
系統時間:2024-04-26 7:00:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!