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

DLL和webbrowser的多個instance?

尚未結案
gerojeng
一般會員


發表:23
回覆:25
積分:9
註冊:2004-06-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-04-13 22:05:55 IP:59.125.xxx.xxx 訂閱
在一個Process當中,要怎樣才能夠對同一個DLL或是 TCppWebBrowser 載入多個 instance 呢?
我遇到的問題是TCppWebBrowser 在同一個Process裡面只有一個instance,這使得如果我建立了兩個
CppWebBrowser物件,他們的SESSION是共用的。

好處是,如果第一個CppWebBrowser已經登入一個網站,第二個CppWebBrowser就不用再登入,但如果要同時登入兩個帳號就沒有辦法了。

也就是說,我無法在一個process當中用不同的帳號登入同一個網站,因為網站會認為這是同一個WebBrowser,只有一個session會有效
請問這樣的方法有解嘛?

類似的問題,如果用LoadLibrary載入一個DLL檔,則對一個process只有一個instance,即使新建立一個form的instance去呼叫
loadlibrary載入同一個DLL檔,他只會回傳剛剛已經載入好的handle,有沒有辦法讓他回傳一個新的handle,也就是說回傳一個新的
DLL instance在同一個process裡面呢?

如果以上不可能,那麼有沒有其他替代性的方案。

我的主要目的是希望在同一個程式裡面能夠用多個帳號登入同一個網站。
gerojeng
一般會員


發表:23
回覆:25
積分:9
註冊:2004-06-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-04-24 17:30:37 IP:116.59.xxx.xxx 訂閱
有人關注到這一篇嗎 ? 還是說一般用 DLL 很少需要讓 DLL對同一個程式有不同的Instnace 呢?
還是說我的基礎架構有問題,有其他的解決方案可以替代嗎?
daldal
高階會員


發表:6
回覆:102
積分:226
註冊:2007-06-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-05-16 11:40:54 IP:220.130.xxx.xxx 訂閱
小弟沒有實作過以下步驟,僅提供意見參考

DLL被重複呼叫時,
若是使用全域共用參數,必須容許A、B彼此之間可以有交互作用
若是使用區域自訂參數,那不同使用者之間彼此不相關,每次使用都是獨立的

所以以您題的例子,網站連線認證,由於具有獨立性值
在呼叫DLL的時候會自動建立自己的儲存帳號、密碼以及獨立的Session可能會比較好
若是有要溝通的部分,才輔以全域作為傳遞的手段
gerojeng
一般會員


發表:23
回覆:25
積分:9
註冊:2004-06-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-08-06 14:01:02 IP:219.70.xxx.xxx 訂閱
看起來dll大概天生在一個process內只有一個instance
不知道沒有辦法有個DLL POOL 可以裝一堆DLL的instance ...

在寫期貨商的下單api,但是dll一次只能登入一個帳號,變成一個帳號下完單必須先登出該帳號才能在登入下一個帳號在下單
無法同時下單
系統時間:2024-11-22 11:31:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!