gpt4 book ai didi

java - JNA-映射 Delphi 函数

转载 作者:行者123 更新时间:2023-12-01 05:59:35 25 4
gpt4 key购买 nike

如何使用 JNA 映射此函数:

德尔福代码:

function getData(InData1: PChar; 
InData2: PChar;
Data: TArray16;
var OutData1: PChar;
var OutData2: PChar): integer; stdcall;

with: TArray16 = array[0..15] of char;

返回的int值可以是0(错误)或1(正确执行);

我的建议是:

Java代码:

int getData(String inData1, 
String inData2,
byte[] data,
byte[] outData1
byte[] outData2);

问题是dll的函数返回0。我也尝试了其他数据类型,但没有成功。我认为问题在于dll函数无法写入参数outData1和outData2。

谁能帮助我?...谢谢!!

最佳答案

尝试 java.nio.ByteBuffer OutData1 和 OutData2

编辑

你能用 C++ 编写一个与此函数等效的函数吗?如果是这样:

int getData(const char* InData1, const char* InData2, char[] Data, char** OutData1, char** OutData2);

那么映射就是

int getData(String InData1, String InData2, ByteBuffer Data, ByteByReference OutData1, ByteByReference OutData2);

关于java - JNA-映射 Delphi 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1475878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com