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

Java Native Access调用Delphi示例(JNI的另一种方式)

2011-01-12 12:36 429 查看
前一篇文章写了一些关于Java Native Interface的一些经验,本篇主要将代码贴出来一起分享一下:

Delphi代码:

library Project1;
uses
Windows,
SysUtils,
StdCtrls;

{$R *.res}
type
Tman = record
name:string;
id:Integer;
end;
PTman=^Tman;
procedure copyw(a:Tman;b:PTman) stdcall;
begin
b.id:=a.id;
b.name:=a.name;
end;
exports
copyw;
begin
end.


java代码:

import com.sun.jna.Library;
import com.sun.jna.Native;
public class Test {
public interface Project1  extends Library{
Project1 p=(Project1)Native.loadLibrary("Project1",Project1.class);
void copyw(Tman r1,Tman r2);
}

public static void main(String[] args) {
Tman r1 = new Tman();
r1.name = "TEST1";
r1.id = 100;
Tman r2 = new Tman();
r2.name = "t";
r2.id=0;
Project1.p.copyw(r2, r1);
System.out.println(r2.name);
}

public static class Tman extends com.sun.jna.Structure{
public String name;
public short id;
}
}


如果你看了上一篇blog,那你一定会清楚代码的意思。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: