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

Delphi傳Hwnd指標值給C寫的DLL

尚未結案
wang000f
一般會員


發表:16
回覆:28
積分:8
註冊:2003-10-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-04 18:53:10 IP:211.72.xxx.xxx 未訂閱
問題:如何將應用程式Handle值,將Handle以指標值給C寫的DLL open_Session( *hwnd, *char_1 , *char_2) // * 為指標 目前作法: Type PAnsiString = ^AnsiString; PBYTE = ^BYTE; PInteger = ^Integer; PHwnd = ^Hwnd; //**************************** function open_session(h:PHwnd;p1:pChar;p2:pChar): Integer; stdcall; implementation function open_session; stdcall; external 'ciben32.dll'; ************************************************************ procedure TForm1.Button1Click(Sender: TObject); var res:integer; vC1: char; vC2: char ; begin hclient:=GetActiveWindow; //取得執行緒視窗handle vC1:='0'; vC2:=' '; res:=open_session( @hClient ,@vC1,@vC2); end; 總是失敗傳回0,我不知道我那一個地方錯了,懇請您能指引一下。
aquarius
資深會員


發表:3
回覆:347
積分:330
註冊:2003-05-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-15 11:53:33 IP:210.243.xxx.xxx 未訂閱
open_Session 傳回 0 , 那要去看 open_Session 裏頭在什麼情況下會傳回 0 呀!! 還有 open_Session 用 C 寫的, 那確定 EXPORT 出來的 function 確實是用 stcall, 還是用 cdecl ? 只有這些訊息看不出所以然的!! ...Aquarius
------
水瓶男的blog: http://791909.blogspot.com
wang000f
一般會員


發表:16
回覆:28
積分:8
註冊:2003-10-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-15 19:37:20 IP:211.72.xxx.xxx 未訂閱
這個問題我已解決了,目前寫法為: open_Session( *hwnd, *char_1 , *char_2) // * 為指標  目前作法:    //**************************** function open_session(h:Pinteger;p1:pChar;p2:pChar): Integer; stdcall; implementation function open_session; stdcall; external 'ciben32.dll'; ************************************************************ procedure TForm1.Button1Click(Sender: TObject); var res:integer; hClient:hwnd; vC1: char; vC2: char ; begin hclient:=handle; //取得執行緒視窗handle res:=open_session( @hClient,@vC1,@vC2); end;
系統時間:2024-05-15 8:41:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!