您的位置:首页 > 编程语言 > Delphi

[JNA系列]Java调用Delphi编写的Dll之实例Delphi使用PWideChar

2016-08-25 16:10 1011 查看
Delphi代码

unit UnitDll;

interface

uses
StrUtils, SysUtils, Dialogs;

function DoBusinessWide(pvData: PWideChar): PWideChar; stdcall;

implementation

function DoBusinessWide(pvData: PWideChar): PWideChar; stdcall;
var
lvData: WideString;
begin
ShowMessage(pvData);
lvData := pvData;
ShowMessage(lvData);
lvData := lvData + FormatDateTime('YYYYMMDDHHMMSSZZZ',Now);
Result := PWideChar(lvData);
ShowMessage(Result);
end;

end.


Java调用代码

package com.jna.demo;

import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.WString;

public class JnaDemo {

public interface RtcPubLibrary extends Library{
RtcPubLibrary instance = (RtcPubLibrary) Native.loadLibrary("JavaDll", RtcPubLibrary.class);
public WString DoBusinessWide(char[] pvData);
}

public static void main(String[] args) {
System.setProperty("jna.encoding", "GBK");
StringBuilder sBuilder = new StringBuilder();
sBuilder.append("123测试");
char[] pvData = sBuilder.toString().toCharArray();
WString lvData = RtcPubLibrary.instance.DoBusinessWide(pvData);
System.out.println("Wstring-->" + lvData);
}

}


正常返回结果:Wstring-->123测试20160825160441882
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: