C++写的接口在DELPHI的参数转换
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不知道怎么转定义!!
问题点数:10、回复次数:4Top
1 楼clasj(★知我☆)回复于 2005-11-18 08:54:07 得分 10
function HLGetFingerM (hHandle:HANDLE ; var rpData: pbyte, var rdwLen: dword):boolean;stdcall;external 'HLSSplit.dll' name 'HLGetFingerM';Top
2 楼beyondtkl(大龙驹<*好久没来了,兄弟们好吧。*>)回复于 2005-11-18 08:54:11 得分 0
LPBYTE &rpData, DWORD &rdwLen
--
type
PBYTE = ^Byte;
var rpData: PBYTE; var rdwLen DWORD;
前面一个就是二级指针了。Top
3 楼clasj(★知我☆)回复于 2005-11-18 09:04:01 得分 0
一个示例:)
// testdll.cpp : Defines the entry point for the DLL application.
//
#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.Top
4 楼sheepnam(天堂游牧人)回复于 2005-12-11 17:18:06 得分 0
接受答案Top




