【发布时间】:2012-08-03 00:24:53
【问题描述】:
我有一个带有这个签名的 Dll 函数:
UInt32 Authenticate(uint8 *Key);
我在 Delphi 上这样做:
function Authenticate(Key:string) : UInt32; external 'mylib.dll' name 'Authenticate';
但总是,函数返回 10(错误代码)并且应用程序停止:\
有办法做到这一点吗?
更新: 谢谢大家!你是最棒的!
【问题讨论】:
-
当然 uint8 不等同于字符串......你应该将什么作为键传递给函数,只是一个指向字节的指针?
-
@jachguate uint8* 等价于 PAnsiChar,在这种情况下
-
@David,在这种情况下,等效项是模棱两可的 XD。恕我直言,uint8 仅相当于一个 PByte。通过 uint8 指针期望 PAnsiChar 的函数不是等价问题,而是 c 端的偏好问题。我不太同意的一个。
标签: c delphi dll freepascal lazarus