有關delphi的dll呼叫vc寫的dll,無法回傳值的問題 |
答題得分者是:chenyk
|
macchen
初階會員 ![]() ![]() 發表:66 回覆:102 積分:33 註冊:2006-07-07 發送簡訊給我 |
請問一下,我在delphi的dll中呼叫vc寫的dll,並且在呼叫vc的dll時,需傳入變數a,然後在vc中會讀取這個變數的值,並且修改,再回傳到delphi的變數a,請問該如何做呢,我的例子如下,想請教一下各位,我是不是那邊觀念有問題,謝謝,不用delphi做exe來呼叫vc,因為最前端呼叫delphi的dll是別人寫的程式,我只能提供delphi的dll給他呼叫,而vc的dll是因為要實作別的程式碼,所以才需要這樣子連結,麻煩有經驗的人指導一下小弟,謝謝您的意見。
EX: vc dll = VCDLL ; delphi dll function Daaa(a:string);integer; stdcall; exports ; function aaa(a:PChar):integer; cdecl; external 'VCDLL' ; <-----呼叫vc dll的宣告 vc dll int __declspec(dllexport) aaa(char *a); [code delphi] function Daaa(a:string);integer; var a:PChar; s:string; begin GetMem(a, 256); a := 'xyz' ; aaa(a) ; s := a ; showmessage(s);<-----------這邊回傳都是xyz FreeMem(a); end; [/code] [code cpp] int aaa(char *a) { AfxMessageBox(a); a = "abc" ; <-----------此處不是改值了,應該是要變成abc回傳才對 return 1 ; } [/code]
------
DELPHI初學者 |
rick060
高階會員 ![]() ![]() ![]() ![]() 發表:2 回覆:112 積分:217 註冊:2009-11-17 發送簡訊給我 |
|
chenyk
高階會員 ![]() ![]() ![]() ![]() 發表:14 回覆:95 積分:171 註冊:2002-07-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |