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都试过,都不行,哪位帮忙解决下,十分感谢。
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都试过,都不行,哪位帮忙解决下,十分感谢。
确定是stdcall;吗,换cdecl试试看
应该是stdcall,程序不止这一个函数,别的再一个单元的函数都是stdcall调用
补充,Delphi第一种方式是对方提供的,指定是stdcall,还有下面是VB的描述:
Declare Function ReadCard Lib “mbt2005.dll” (
ByRef room_no as String,
ByRef start_date as String,
ByRef expire_date as String,
ByRef card_no as Long)
as Boolean
我会试试一楼的说法,是在别人电脑上,目前还不能试
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);