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

關於ActiveX for ASP

尚未結案
ray24
中階會員


發表:18
回覆:88
積分:56
註冊:2002-07-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-12 11:11:45 IP:220.135.xxx.xxx 未訂閱
我把下面一段DLL的Function內容轉換成for ASP 使用的ActiveX 原件 Function內容是把一個字串透過 process 傳遞字串的方式傳遞    DLL Function 內容如下

bool __stdcall AA(char* cMachine_ID,int iStatus)
{
  char   str[128];
  char   *ptr=str;      memset(str,'0',sizeof(str));
  sprintf(str,"String:%s,%d#",cMachine_ID,iStatus);      COPYDATASTRUCT cpData;
  cpData.dwData = (DWORD)NULL;
  cpData.cbData = (DWORD)strlen(str);
  cpData.lpData = (PVOID)ptr;
  HWND hwndGETForm= ::FindWindow("TForm","TEST2");      if(hwndGETForm)
  {
    if(::SendMessage(hwndGETForm, WM_COPYDATA, (WPARAM)NULL,(LPARAM)&cpData )) return true;
    else return false;
  }
  else return false;
}
ActiveX method 內容如下
}
STDMETHODIMP TTESTImpl::AA(VARIANT MID, int Status)
{
   char   str[128];
   char   *ptr=str;       TVariant  mid(MID);
   AnsiString  hh= VarToStr(mid);       memset(str,'0',sizeof(str));
   sprintf(str,"String:%s,%d#",hh.c_str(),Status);       test= TVariant(str);       COPYDATASTRUCT cpData;
   cpData.dwData = (DWORD)NULL;
   cpData.cbData = (DWORD)strlen(str);
   cpData.lpData = (PVOID)ptr;       HWND hwndGETForm= ::FindWindow("TForm","TEST2");       if(hwndGETForm)
   {
     ::SendMessage(hwndGETForm, WM_COPYDATA, (WPARAM)NULL,(LPARAM)&cpData );       }       return S_OK;
}
執行結果 DLL 中的function 正常的完成文字的傳遞 但是 ActiveX 中的 method 卻卡在::FindWindow 這一行程式碼 因為 FindWindow 找不到視窗的 HWND 所以無法把字串傳遞出去 我的疑問如下 1.爲何ㄧ樣的程式碼在ActiveX 與DLL 中執行出來的結果會不一樣? 2.是否有些API不適用於ActiveX,使用上會有限制? 3.ActiveX 中的method 與DLL 中的function有何不同(指撰寫上)? ---------------------- 台上一分鐘,台下十年功
------
台上一分鐘,台下十年功
robert1014
初階會員


發表:34
回覆:85
積分:43
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-13 10:07:49 IP:218.168.xxx.xxx 未訂閱
基本上ActiveX與dll的撰寫上沒有太大的差異 但是很奇怪的是,印像中 寫好的ActiveX(有呼叫其他Form),在一般的win ap下使用 時,沒有問題。但在網頁上使用時會造成一些問題 比如說,有時呼叫其他Form時,畫面不會出現等等 因此在網頁使用ActiveX並呼叫Form時,這一點要注意 儘量改寫方式.... 希望對你有幫助!
ray24
中階會員


發表:18
回覆:88
積分:56
註冊:2002-07-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-13 11:06:13 IP:220.132.xxx.xxx 未訂閱
to robert1014 大哥... 終於有人回應了....好感動喔!! 人間有溫暖四季皆如春 不管如何這一分我給定妳了 以下是我找到的解決方案 > 可能是安全性的問題 雖然有一點遺憾...但大致上解決了我的問題 若有 > ---------------------- 台上一分鐘,台下十年功
------
台上一分鐘,台下十年功
系統時間:2024-05-04 2:51:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!