易截截图软件、单文件、免安装、纯绿色、仅160KB

用Delphi开发JNI(Java+Native+Interface)应用

JNI(Java+Native+Interface,Java本地接口)技术大家都不陌生,它可以帮助解决Java访问底层硬件的局限和执行效率的提高。关于JNI的开发,大多数资料讨论的都是如何用C/C++语言开发JNI,甚至于JDK也提供了一个javah工具来自动生成C语言程序框架。但是,对于广大的Delphi程序员来说,难道就不能用自己喜爱的Delphi与Java互通消息了吗?­
  通过对javah生成的C程序框架和JDK中的jni.h文件的分析,我们发现,Java利用JNI访问本地代码的关键在于jni.h中定义的JNINativeInterface_这个结构(Struct),如果用Delhpi语言改写它的定义,应该也可以开发JNI的本地代码。幸运的是,在网上有现成的代码可以帮助你完成这个繁杂的工作,在http://delphi-jedi.org上提供了一个jni.pas文件,就是用Delphi语言重写的jni.h。我们只需在自己的Delphi工程中加入jni.pas就可以方便地开发出基于Delphi语言的JNI本地代码。­
    本文将利用jni.pas,讨论用Delphi语言开发JNI本地代码的基本方法。­
­
先来看一个经典的HelloWorld例子。编写以下Java代码:­
­
class+HelloWorld­

public+native+void+displayHelloWorld();+­
static­

System.loadLibrary("HelloWorldImpl");+­


­
  这段代码声明了一个本地方法displayHelloWorld,它没有参数,也没有返回值,但是希望它能在屏幕上打印出“您好!中国。”字样。这个任务我们打算交给了本地的Delphi来实现。同时,在这个类的静态域中,用System.loadLibrary()方法装载HelloWorldImpl.dll。注意,这里只需要给出文件名而不需要给出扩展名dll。­
  这时候,如果在我们的Java程序中使用HelloWorld类的displayHelloWorld方法,系统将抛出一个java.lang.UnsatisfiedLinkError的错误,因为我们还没有为它实现本地代码。­
  下面再看一下在Delphi中的本地代码的实现。新建一个DLL工程,工程名为HelloWorldImpl,输入以下代码:­
­
Uses­
JNI;+­
procedure+Java_HelloWorld_displayHelloWorld(PEnv:+PJNIEnv;+Obj:+JObject);+stdcall;+­
begin­
Writeln('您好!中国。');+­
end;+­
exports­
Java_HelloWorld_DisplayHelloWorld;+­
end.­
­
  这段代码首先导入jni.pas单元。然后实现了一个叫Java_HelloWorld_displayHelloWorld的过程,这个过程的命名


相关文档:

Java网络加载协议(JNLP)

在java开发的早期,重点被放在了客户端开发。语言中对于applet和安全下载的支持
对于万维网(WWW)的发布看上去是个不错的主意。但是现实是java最大的成功在于服务器端,java的强大功能和适应性赢得了服务器端开发者的心。同时,客户端的开发落后了。棘手的开发问题限制了applet的效用,开发者被迫转向基于浏览器的瘦客户� ......

Java IO学习

文件对象的生成和文件的创建
 
/*
 * ProcessFileName.java
 *
 * Created on 2006年8月22日, 下午3:10
 *
 * 文件对象的生成和文件的创建
 */
package study.iostudy;
import java.io.*;
public class GenerateFile
{
    public static void main(String ......

JAVA反射类

import java.lang.reflect.Array;
public class ReflectionTest {
    public static void main(String[] args) {
        try {
            Example obj = new Example();
            j ......

XSD利用EMF生成JAVA代码的相关步骤及配置

步骤一:导入EMF的插件到相关的目录下(plugins、features)
步骤二:新建EMF Project。<!--more-->
步骤三:输入生成工程的名称
第四步:导入XSD,并且修改相应的名称:
 
 第五步:点击finish,配置ecore相关的属性,点击保存
 
 第六步:配置genmodel的相关属性
选中它的根目录:
我们需 ......

Java的环境变量配置

Java的环境变量配置:
(两种方法任选一种皆可)
方法一:
依次点击:“我的电脑”-(右键)“属性”-“高级”-“环境变量”,弹出Windows的“环境变量”配置卡。
在“系统变量”栏下执行三项操作:
①新建“Classpath”(如果已有,则直接 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号