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

關於c 寫的DLL 轉成 delphi 時的function 宣告

尚未結案
DelphiLearner
一般會員


發表:2
回覆:1
積分:0
註冊:2010-03-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-03-24 12:07:52 IP:125.31.xxx.xxx 訂閱
請問以下的兩個 c 的 function 宣告, 轉換成 Delphi 時應怎樣宣告?

extern "C" __declspec(dllimport) int __stdcall Get_Data(int InData, char **MyData, int *Mylength);
extern "C" __declspec(dllimport)int __stdcall Get_Data_ALL(char *idno[10], char *cname[20], char *ename[60]);


希望有大大幫忙!

syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-03-25 08:09:51 IP:59.125.xxx.xxx 訂閱

Pattern

function [API/Function Name]; external [DLL Name] name '[API/Function Name]';
{$EXTERNALSYM [API/Function Name]}
function [API/Function Name]([Parameter defination]): [Return typr deffination]; stdcall;
or
procedure [API/Function Name]([Parameter defination]): stdcall;

Example

Do't know where Get_SData comes from which dll. ---> asume : xxx.dll

function Get_SData; external xxx name 'Get_SData';
{$EXTERNALSYM Get_SData}
function Get_SData(Integer InData, PChar MyData, Integer MyLength): Integer; stdcall;

===================引 用 DelphiLearner 文 章===================
請問以下的兩個 c 的 function 宣告, 轉換成 Delphi 時應怎樣宣告?

extern "C" __declspec(dllimport) int __stdcall Get_Data(int InData, char **MyData, int *Mylength);
extern "C" __declspec(dllimport)int __stdcall Get_Data_ALL(char *idno[10], char *cname[20], char *ename[60]);


希望有大大幫忙!

編輯記錄
syntax 重新編輯於 2010-04-01 16:15:31, 註解 修正-補充格式,與使用範例‧
DelphiLearner
一般會員


發表:2
回覆:1
積分:0
註冊:2010-03-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-03-30 20:32:08 IP:122.100.xxx.xxx 訂閱
試過還是不能啊.
請問有大大可幫個忙嗎? 拜託~


===================引 用 syntax 文 章===================

Integer procedure Get_SData(Integer InData, PChar MyData, Integer MyLength);stdcall; external 'DLL Name.DLL'; name 'Function or Procedure Name'



===================引 用 DelphiLearner 文 章===================
請問以下的兩個 c 的 function 宣告, 轉換成 Delphi 時應怎樣宣告?

extern "C" __declspec(dllimport) int __stdcall Get_Data(int InData, char **MyData, int *Mylength);
extern "C" __declspec(dllimport)int __stdcall Get_Data_ALL(char *idno[10], char *cname[20], char *ename[60]);


希望有大大幫忙!

comewish
一般會員


發表:1
回覆:7
積分:1
註冊:2010-03-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-04-21 23:05:35 IP:99.226.xxx.xxx 訂閱
試看看
function Get_Data(InData:Integer ; MyData:PChar ; MyLength :Integer ):integer ;stdcall; external 'DLL Name.DLL';

這裏有個網站,你可以參考看看,它還有一支程式可以轉換
http://www.drbob42.com/delphi/headconv.htm
編輯記錄
comewish 重新編輯於 2010-04-21 23:09:10, 註解 無‧
系統時間:2017-10-21 16:33:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!