首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Delphi调用C++动态链接库的一个有关问题 long

2012-02-21 
Delphi调用C++动态链接库的一个问题 long *C++描述:BOOL ReadCard(char * room_name, char * checkin_date

Delphi调用C++动态链接库的一个问题 long *
C++描述:
BOOL ReadCard(char * room_name, char * checkin_date, char * checkout_date, long * card_no)

Delphi描述:
function ReadCard(room_no, start_date, end_date:PChar; var card_no: Cardinal):Boolean;stdcall; external ...

实际Delphi调用时:
function ReadCard(room_no, start_date, end_date:PChar; var card_no: Cardinal):Boolean;stdcall; external ...
function ReadCard(room_no, start_date, end_date:PChar; card_no: Cardinal):Boolean;stdcall; external ...

这些都不行,把Cardinal换成Integer,LongInt也试过,去掉和加上Var都试过,都不行,哪位帮忙解决下,十分感谢。

[解决办法]
function ReadCard(room_no, start_date, end_date:PChar; card_no: PLongint):BOOL;stdcall;
确定是stdcall;吗,换cdecl试试看
[解决办法]
声明有问题:


C++描述:
BOOL ReadCard(char * room_name, char * checkin_date, char * checkout_date, long * card_no)

Delphi中改成如下:

function ReadCard(room_no, start_date, end_date:PChar; card_no: PInteger):Boolean;stdcall; external ...

调用如下:
var
room_no, start_date, end_date:array [0..128] of Char;
card_no:Integer;

ReadCard(room_no, start_date, end_date,@card_no);

热点排行