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

請教ACTIVEX Form物件使用html將參數傳入的方式

答題得分者是:Eskimo
MilesWamg
一般會員


發表:18
回覆:37
積分:11
註冊:2003-02-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-02 20:00:56 IP:211.21.xxx.xxx 未訂閱
請教各位先進有關請教ACTIVEX Form物件使用html將參數傳入的方式, 參考 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=22699 中的寫法,這是delphi的版本,但bcb的實作方式好像不同,我試了一段時間一值無法將參數傳入activexform中,我寫了一個小小的範例,是一個網頁上的小時鍾,而html的原始檔如下
 
html>
<body>
testing
<OBJECT ID="ActiveFormProj1" WIDTH="460" HEIGHT="460" 
        CLASSID="CLSID:7D0BEB52-3B67-42BF-AD16-EC089A9298E6">
        
</OBJECT></body>
</html>
根據書本與網路上的資料但是收集的這部分實作於bcb資料不齊全,所以於新增的參數為IPAddr,如欲於上述的傳入activexform設定如下
STDMETHODIMP TActiveFormXImpl::set_IPAddr(BSTR Param1)
{
  try
  {
    const DISPID dispid = 16;
    if (FireOnRequestEdit(dispid) == S_FALSE)
     return S_FALSE;        m_VclCtl->StaticText2->Caption ="IP=" AnsiString(Value);
    FireOnChanged(dispid);
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IActiveFormX);
  }
  return S_OK;
};    
我將原始碼貼在 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=55790 請問我哪邊要修正,或設定,謝謝!
Eskimo
一般會員


發表:0
回覆:2
積分:5
註冊:2004-09-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-10 13:56:07 IP:210.243.xxx.xxx 未訂閱
針對您的原始碼解答: 1. 先將您新增的 property (name=IPAddr) 的 Flags 設定為 Bindable, 並按下refresh 2. 在您的 ActiveFormImpl1.h 中, 手動加上黑體字的部份:   a) class ATL_NO_VTABLE TActiveFormXImpl:       VCLCONTROL_IMPL(TActiveFormXImpl, ActiveFormX, TActiveFormX, IActiveFormX, DIID_IActiveFormXEvents), public IPersistPropertyBagImpl< TActiveFormXImpl > { /* 省略 */} 請注意 VCLCONTROL_IMPL()後的逗點需加上 b) BEGIN_COM_MAP(TActiveFormXImpl) VCL_CONTROL_COM_INTERFACE_ENTRIES(IActiveFormX) COM_INTERFACE_ENTRY_IMPL( IPersistPropertyBag ) END_COM_MAP() c) BEGIN_PROPERTY_MAP(TActiveFormXImpl) // PROP_PAGE(CLSID_ActiveFormXPage) PROP_ENTRY( "IPAddr", 16, CLSID_ActiveFormX) END_PROPERTY_MAP() 註: PROP_ENTRY的參數為 (PROPERTY_NAME, PROPERTY_ID, ACTIVE_FORM_CLSID) 最後, 因您的專案中缺 websnap.bpi, 所以我沒辦法 build 出來測試. 另外, 我想請問, 您的程式在 build 出來後, 能在 IE 上看到 ActiveForm 嗎? 因為據我所知, 當project options設定成使用 runtime packages 及 dynamic RTL時, 在 IE 上會看不到 ActiveForm, 是不是需要什麼設定才能像您一樣使用這2項options?
系統時間:2024-05-09 10:12:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!