「易语言调用java」易语言调用javascript

博主:adminadmin 2022-11-23 21:28:06 54

今天给各位分享易语言调用java的知识,其中也会对易语言调用javascript进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

易语言模块里的类命令怎么调用?

易语言模块里的类命令的调用方法如下:

1、首先,打开易语言,创建一个新的“

 Windows窗口程序”,选择‘工作夹’里的‘程序’,然后双击【模块引用表】选项,选择要添加的易模块文件并将其打开,如下图所示,然后进入下一步。

2、其次,完成上述步骤后,双击该模块以查看易模块的公共信息。

 可以直接调用模块中的子程序和dll命令,并且还可以直接使用自定义数据类型,而无需重新定义,如下图所示,然后进入下一步。

3、接着,完成上述步骤后, 以沙漠模块为例,可以看到该模块包含许多类,如下图所示,然后进入下一步。

4、最后,完成上述步骤后,调用“类”中的子程序。

 以“类_脚本组件 ”为例,创建一个新变量,例如:全局变量2,该变量的类型为要调用的类的名称,即:dm_soft;

 返回编写的程序,就可以添加该函数(类中子程序)了。如下图所示。这样,问题就解决了。

求E语言通过java支持库调用jar包时参数传递教程

Java加载jar文件并调用jar文件当中有参数和返回值的方法

在工作当中经常遇到反编译后的jar文件,并要传入参数了解其中的某些方法的输出,想到Java里面的反射可以实现加载jar文件并调用其中的方法来达到自己的目的。就写了个Demo代码。

以下的类可以编译生成hello.jar文件。

1 package org.lele.fatpanda;

2    3 public class Util

4 {

5     public static String myName;

6     /*  7      * 无参数,无返回值的方法。

8      */   9     public static void getVersion()  

10     {  

11         System.out.println("java version: " + System.getProperty("java.version") );  

12     }  

13     /* 14      *有参数,无返回值的方法。

15      */  16     public static void setTmpName(String name)  

17     {  

18         myName = name;  

19         System.out.println("Set Tmp Name Succeed and the name is : " + myName);  

20     }  

21     /* 22      * 单个参数,有返回值的方法。

23      */  24     public static String getName(String prefix)  

25     {  

26         return prefix + "lele";  

27     }  

28     /* 29      * 多个参数,有返回值的方法。

30      */  31     public static String test(String i1, int i2)  

32     {  

33         return i1 + i2;      

34     }  

35       36 }  

37 /* 38  * 一个生成jar文件的类文件,要使用public的访问权限,如果在方便进行反射调用,则要将方法声明为static。

39  */  

下面的就是实现动态加载并调用的主要代码。

1 package com.xiyoulele.wh;

2    3 import java.io.File;

4 import java.lang.reflect.Method;

5 import java.net.URL;

6 import java.net.URLClassLoader;

7    8 public class Main

9 {  

10     public static void main(String[] args)  

11     {  

12         URL[] urls = new URL[] {};  

13         MyClassLoader classLoader = new MyClassLoader(urls, null);  //自定义ClassLoader来加载jar文件  14           15         try   16         {  

17             classLoader.addJar(new File("c:\\hello.jar").toURI().toURL());  //加载特定路径的jar文件  18             Class? clazz = classLoader.loadClass("org.lele.fatpanda.Util"); //动态加载jar文件当中的特定类的class文件    

19               20             //传入一个参数一个返回值  21           22             Class?[] typeA = new Class[1];  //传入要调用的方法的参数类型  23             typeA[0] = String.class;  

24               25             Object[] objsA = new Object[1];  //传入要调用的方法的具体参数  26             objsA[0] = new String("xiyou");  

27               28             Method method =  clazz.getMethod("getName", typeA);  //获取要被调用的特定方法  getName(String xx)  29               30             String result = method.invoke(clazz, objsA).toString(); //调用方法,获取方法的返回值。  31               32             System.out.println(result);  //输出方法      

33               34             //传入2个参数一个人返回值  35               36             Class?[] typesB = new Class[2];  

37             typesB[0] = String.class;  

38             typesB[1] = Integer.TYPE;  

39               40             Object[] ObjsB = new Object[2];  

41             ObjsB[0] = new String("ZT");  

42             ObjsB[1] = new Integer(520);  

43               44             Method newMethod = clazz.getMethod("test", typesB);  

45             String res = newMethod.invoke(clazz.newInstance(), ObjsB).toString();  

46               47             System.out.println(res);  

48               49             //有传入的参数,没有返回值  50             Class?[] typesC = new Class[1];  

51             typesC[0] = String.class;  

52               53             Object[] objsC = new Object[1];  

54             objsC[0] = new String("xiyoulele");  

55               56             Method methodC = clazz.getMethod("setTmpName", typesC);  

57             methodC.invoke(clazz.newInstance(), objsC);  

58               59             //无参数,无返回值  60             Method methodD = clazz.getDeclaredMethod("getVersion");  

61             methodD.invoke(clazz.newInstance());                

62               63             classLoader.close();  //关闭类的加载器  64               65         } catch (Exception e)  

66         {            

67             e.printStackTrace();  

68         }  

69     }    

70     //继承URLClassLoader来实现对jar文件的加载  71     static class MyClassLoader extends URLClassLoader  

72     {  

73         public MyClassLoader(URL[] urls)  

74         {  

75             super(urls);  

76         }  

77         public MyClassLoader(URL[] urls, ClassLoader parent)  

78         {  

79             super(urls, parent);  

80         }  

81         public void addJar(URL url)  

82         {  

83             this.addURL(url);  

84         }  

85     }  

86 }  

87 /* 88  * 需求:加载jar文件,动态调用里面的方法,该方法带有参数和返回值。

89  */

程序运行的结果:

如何用易语言以一定参数调用java

Set db = CreateObject("DBSoft.DBSoft_Msgbox")

a = db.MessageBoxSelfA("大兵提示", "请选择你的年龄", array(1, 2, 3, 4, 5, 6)

关于易语言调用java和易语言调用javascript的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。