Java中调用Delphi编写的DLL(二)

2014-11-24 03:27:08 · 作者: · 浏览: 7
intText(PEnv: PJNIEnv; Obj: JObject; str: JString); stdcall;
//这回我们需要用到一个 TJNIEnv 对象,我们来声明
var
JVM: TJNIEnv;
tmpStr: String;


begin
//实例化 JVM, 这个对象可以看成是 Java 的虚拟机.(自己的理解)
JVM := TJNIEnv.Create(PEnv);


//参数提交过来的字符串,实际上是一个 JString 对象,我们在这里要用 JVM 来转化它.
//我们调用 JVM 的 UnicodeJStringToString 函数就可以实现 JString 到 String 的转化了.
tmpStr := JVM.UnicodeJStringToString(str);


Writeln(tmpStr);


//我们使用完 JVM 后,要将其释放.
JVM.Free;
end;


exports
Java_alvinJNI_HelloWorld_printText; //为函数做引出声明,这样才能真正的被调用到
end.
//----------------------------------------------------------------------------------------------------------