C++写的DLL接口:
bool HLGetFingerM (HANDLE hHandle, LPBYTE &rpData, DWORD &rdwLen);
功能描述:获取语义指纹
参数说明:hHandle [IN] 分词句柄
rpData [OUT] 存放语义指纹的指针
rdwLen [OUT] 语义指纹长度
返 回 值:是否成功
其他相关函数:无这个C++写的DLL接口要把他转为适合DELPHI调用的,中间那两个指针要怎么写啊?function HLGetFingerM (hHandle:HANDLE ; LPBYTE &rpData, DWORD &rdwLen):boolean;stdcall;external 'HLSSplit.dll' name 'HLGetFingerM';
就中间那两个LPBYTE &rpData, DWORD &rdwLen不知道怎么转定义!!
bool HLGetFingerM (HANDLE hHandle, LPBYTE &rpData, DWORD &rdwLen);
功能描述:获取语义指纹
参数说明:hHandle [IN] 分词句柄
rpData [OUT] 存放语义指纹的指针
rdwLen [OUT] 语义指纹长度
返 回 值:是否成功
其他相关函数:无这个C++写的DLL接口要把他转为适合DELPHI调用的,中间那两个指针要怎么写啊?function HLGetFingerM (hHandle:HANDLE ; LPBYTE &rpData, DWORD &rdwLen):boolean;stdcall;external 'HLSSplit.dll' name 'HLGetFingerM';
就中间那两个LPBYTE &rpData, DWORD &rdwLen不知道怎么转定义!!
PBYTE = ^Byte;var rpData: PBYTE; var rdwLen DWORD;前面一个就是二级指针了。
//#include "stdafx.h"BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}extern "C" __declspec(dllexport) void foo(char* &s, int &i){
s = "hello world!";
i = 123;
}program testdll;{$APPTYPE CONSOLE}uses
SysUtils;procedure foo(var s: pchar; var i: integer); cdecl; external 'testdll.dll';var
s: pchar;
i: integer;
begin
foo(s, i);
writeln(s, i);
readln;
end.