我写了个函数
function callJava(id,name,classnum,level,oper:PAnsiChar):JObject;stdcall;
(类型我尝试过pChar string ANSiString...都是老样子)
试验的时候这么调用
callJava('2','w','gaoyi','A','save');当运行到我写的这一句args[0].l:=tenv.StringToJString(pchar(UTF8Encode(id)));会进入jni中的StringToJString这个方法jni中该方法这么写的
function TJNIEnv.StringToJString(const AString: PAnsiChar): JString;
begin
  Result := Env^.NewStringUTF(Env, PChar(AString));
end;运行到这句
Result := Env^.NewStringUTF(Env, PChar(AString));就报.....raised exception class EAccess voilation with message Access voilation at address ....read of .....就是这样 不知道为什么有谁知道吗。指教下。