Delphi调用C++动态链接库的一个有关问题 long
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);
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);