DELPHI 开发JNI 之 JAVA 对象String 应用

DELPHI 开发JNI JAVA 对象String 应用

前言:

DELPHI 的教程很多,在这里不加赘述,着重介绍JAVA里的常用对象的调用,

公司有这方面的功能需求,用了2天的时间研究了下JNI相关的东西.把我在研究过程中比较挠头的一些问题的解决方法发上来. 主要介绍 JAVA中常用对象的在开发JNI时候的应用.

   String对象应用

JAVA String 属于一个对象,JNI不能识别String 类型. 所以在用GetMethodID 等方法的时候,对于传入和传出参数类型为String 类型的函数 需要将数据类型定义为 Ljava/lang/String;  DLEPHI 则对应的是 JString

例子:

ResultSet对象有个方法 String getString(String columnName)  这段代码执行的过程是 调用ResultSet 对象的 String getString(String columnName) 方法 获取字段 “cs_name” 的值 ,省略了一些初始化的过程.

Var

  JVM: TJNIEnv;

RsObj : JOjbect;  //ReslutSet 对象

RsClass : JClass;  //

Mid : JMethodID;

JFVS : jString ; 

JTmpStr : jString;

   Begin

       JVM := TJNIEnv.Create(PEnv);

       //RsObj 初始化过程省略

       RsClass := JVM.GetObjectClass(RSOBJ);  //获得RsObj的类 

    JTmpStr := JVM.StringToJString('cs_name');  // cs_name 为字段名

       Mid := JVM.GetMethodID(RSClass,'getString','(Ljava/lang/String;)Ljava/lang/String;');

       JFVS := JVM.CallNonvirtualObjectMethod(RSOBJ,RSClass,mid,[JTmpStr]); 

   End;

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值