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

請問C 轉Delphi 的語法 如何解

尚未結案
woodss
一般會員


發表:13
回覆:24
積分:17
註冊:2003-07-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-11 14:18:56 IP:61.64.xxx.xxx 未訂閱
這是c .h的定義檔如下 呼叫DLL 的FUNCTION ----------------------------------------------------- #ifdef __cplusplus #define CFUNCDLLCALLS extern "C" #else #define CFUNCDLLCALLS #endif CFUNCDLLCALLS int PASCAL fsmSetDefaultConfig(void); -------------------------------------------------------- 轉Delphi 語法 -------------------------------------------------------- {$IFDEF __cplusplus} const CFUNCDLLCALLS = extern 'C'; {$ELSE} {$DEFINE CFUNCDLLCALLS} {$ENDIF} var fsmSetDefaultConfig: function: CFUNCDLLCALLS {$IFDEF WIN32} stdcall {$ENDIF}; -------------------------------------------------------------------- 編譯時 Delphi 錯誤訊息 [Error] FSMFUJI.PAS(790): Undeclared identifier: 'CFUNCDLLCALLS' -------------------------------------------------------------------- 不知要如何改寫CFUNCDLLCALLS的定義
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-11 20:08:04 IP:202.39.xxx.xxx 未訂閱
var
  fsmSetDefaultConfig: function: CFUNCDLLCALLS {$IFDEF WIN32} stdcall {$ENDIF};
改成如下試試:
var
  CFUNCDLLCALLS: function: integer; {$IFDEF WIN32} stdcall {$ENDIF};
woodss
一般會員


發表:13
回覆:24
積分:17
註冊:2003-07-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-13 11:16:04 IP:61.64.xxx.xxx 未訂閱
hagar 兄 fsmSetDefaultConfig 是會被定義成動態載入DLL 內的呼叫函數 如下 @fsmSetDefaultConfig := GetProcAddress(DLLHandle,'fsmSetDefaultConfig'); CFUNCDLLCALLS 是定義成C 的回傳 不知Delphi要如何處理
RogerHer
一般會員


發表:11
回覆:39
積分:10
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-15 14:23:28 IP:61.221.xxx.xxx 未訂閱
type pFunc = function : integer {$IFDEF WIN32} stdcall {$ENDIF}; var fsmSetDefaultConfig : pFunc;
系統時間:2024-06-24 21:14:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!