暗 暗夜中独舞 Unregistered / Unconfirmed GUEST, unregistred user! 2008-02-18 #1 比如0x01,0x02,怎么根据这两个数转化成Char类型?
B bsense Unregistered / Unconfirmed GUEST, unregistred user! 2008-02-18 #2 你的数据来源是什么? HexToStr(aint:integer):string; begin result := inttohex(aint); end; ??
D dcx0026 Unregistered / Unconfirmed GUEST, unregistred user! 2008-02-18 #3 delphi中用“$”表示16进制,如$51; chr($01)
B bsense Unregistered / Unconfirmed GUEST, unregistred user! 2008-02-18 #4 可能是要将int 到 char 吧 var aInt:integer; aChar:char; begin aInt :=$01; achar := chr(aInt);
暗 暗夜中独舞 Unregistered / Unconfirmed GUEST, unregistred user! 2008-02-18 #6 0x01,0x02这些都是从C语言拿来的 因为我在用一个DLL,他们给的DEMO是C写的 比如: char c; c = 0x01 然后把c当成参数传到DLL的接口中。 我现在不知道在DELPHI中怎么传0x01之类的数。我用chr($01),调用了DLL,EXE直接被退出了。。。。。
0x01,0x02这些都是从C语言拿来的 因为我在用一个DLL,他们给的DEMO是C写的 比如: char c; c = 0x01 然后把c当成参数传到DLL的接口中。 我现在不知道在DELPHI中怎么传0x01之类的数。我用chr($01),调用了DLL,EXE直接被退出了。。。。。
D dcx0026 Unregistered / Unconfirmed GUEST, unregistred user! 2008-02-18 #7 chr($01)得到是一个控制符,不会显示。 看看chr($51)是否得到“Q”。
S Sachow Unregistered / Unconfirmed GUEST, unregistred user! 2008-02-18 #10 如果在C语言里一个函数的参数类型是char,那么在Delphi里也用Char就行了,如果在C语言里的参数类型是char *,那么在Delphi里就要转成PChar,那个DLL的函数是怎么定义的?
暗 暗夜中独舞 Unregistered / Unconfirmed GUEST, unregistred user! 2008-02-18 #11 DLL的接口为: int A(HANDLE hd_no , Char CommType, char *DownInfo, //DownInfo其实是一个结构体 char *ret_info) 我想可能是第三个参数的错误。第三个参数是一个结构体,但是需要把其强制转化成字符指针。。。
DLL的接口为: int A(HANDLE hd_no , Char CommType, char *DownInfo, //DownInfo其实是一个结构体 char *ret_info) 我想可能是第三个参数的错误。第三个参数是一个结构体,但是需要把其强制转化成字符指针。。。
X [xiaopei] Unregistered / Unconfirmed GUEST, unregistred user! 2008-02-18 #12 我想并不是你的参数用错了,而是你的Delphi函数定义错了。你试试下面的定义应该可以使用。 Function A(hd_no:THandle CommType:Char DownInfoChar ret_infoChar):Integer cdecl external 'DllName.dll'; 然后这样调用: A(hd_no,Char(1),DownInfo,ret_info);
我想并不是你的参数用错了,而是你的Delphi函数定义错了。你试试下面的定义应该可以使用。 Function A(hd_no:THandle CommType:Char DownInfoChar ret_infoChar):Integer cdecl external 'DllName.dll'; 然后这样调用: A(hd_no,Char(1),DownInfo,ret_info);
暗 暗夜中独舞 Unregistered / Unconfirmed GUEST, unregistred user! 2008-02-18 #13 现在调用成功了。。少了一个cdecl,请问这个关键字是用来做什么的?
X [xiaopei] Unregistered / Unconfirmed GUEST, unregistred user! 2008-02-18 #14 cdecl是C语言函数默认的调用约定,Delphi的函数调用约定默认是Register
M menzhe Unregistered / Unconfirmed GUEST, unregistred user! 2008-02-18 #15 cdecl,是默认的vc的函数传参方式规则!delphi默认是register,自然会出错了! 把参数是mov eax ,还是push进堆栈,供子函数使用的!