gpt4 book ai didi

java - 从 ile RPG 中调用 Java set 和 get 方法

转载 作者:行者123 更新时间:2023-12-02 10:23:14 29 4
gpt4 key购买 nike

我致力于 ile RPG 和 Java 的交叉交流。我想使用一些字符串参数调用 .jar 文件中的类并想将字符串返回到我的 RPG 程序。

我的设置方法出现问题。我无法从 RPG 中调用此方法。

我的“getOut()”方法调用运行良好。我得到了正确的 jString。CLASSPATH 设置正确。

看看我的代码:

角色扮演代码:

    D FirstCall       S               O   Class(*Java:'FirstCall') 
D FirstCall1 S LIKE(FirstCall)
D*
D* Constructor in .jar File
D new_FirstCall PR O EXTPROC(*Java:
D 'FirstCall'
D :*CONSTRUCTOR)
D*
D* Create Java String Object
D makestring PR O EXTPROC(*JAVA:
D 'java.lang.String':
D *CONSTRUCTOR)
D bytes 30A CONST VARYING
D*
D* Prototype for Java String's getBytes method
D cvtToBytes PR 30A EXTPROC(*JAVA:
D 'java.lang.String':
D 'getBytes')
D Varying
D*
D* Get Methode in .jar File //this work well
D getOut PR o EXTPROC(*JAVA:
D 'FirstCall':
D 'getOut')
D Class (*JAVA:'java.lang.String')
D*
D* Set Methode in .jar File //Here i have some problems
D setOut PR O EXTPROC(*JAVA:
D 'FirstCall':
D 'setOut')
D Class (*Java:'java.lang.String')
D*
C* Parameter
C *entry plist
C parm $input
C parm $output
/Free

exSr setCLASSPATH;
FirstCall = new_FirstCall();
fldjString = makestring(%trimr($input));
//Set Method call
setOut(FirstCall:fldjString);
fldjString2 = getOut(FirstCall);
fldBty = cvtToBytes(fldjString);
$output = fldBty;

*INLR = *ON;
/End-Free

Java 代码:

    public class FirstCall 
{
public String sOut;

public static void main(String[] args) throws Exception{
}

public FirstCall(){
}

public String getOut(){
return sOut;
}

public void setOut(String sIn){
sOut = sIn + " - java";
}
}

最佳答案

setOut 原型(prototype)不应有返回值。从 setOut 行中删除“O”。

D setOut          PR                  EXTPROC(*JAVA:                    
D 'FirstCall':
D 'setOut')
D strparm O Class (*Java:'java.lang.String')
D CONST

关于java - 从 ile RPG 中调用 Java set 和 get 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54180168/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com