wil*_*824 1 java methods class oracleforms invoke
我正在开发一个使用Oracle Forms 6i的遗留项目(是的,我知道它的旧版本)来从PLL库调用C++函数.
现在我们需要使用Java而不是C++,因此我们需要从Oracle Forms调用Java(Object/Class/Method).
我知道它是一个具有挑战性的主题,但如果有人能够提供一个执行以下操作的简单示例,我会非常高兴:
一个基本的例子,也许是一个Hello World是理想的.
我知道一些PL/SQL,但我不是Oracle Forms开发人员; 请多多包涵.
如果这是不可能的,你能指点我一些其他选择吗?
好吧,在通过互联网进行密集查找后,我遇到了一个非常好的资源(虽然是西班牙语):Elias关于Oracle Forms和Java的博客
我用:
有了这个我设法创建了hello world示例:
例如: PATH_TO_JAVA = C:\ Program Files
使用IDE创建一个简单的java程序,以下是我的:
public class HiWorld{
private String hi="Hello World!";
public String getHi(){
return this.hi;
}
public String getMultiply(int a, int b){
return ""+a*b;
}
public static void main(String args[]){
HiWorld hm = new HiWorld();
System.out.println(hm.getHi());
System.out.println(hm.getMultiply(5,10));
}
}
Run Code Online (Sandbox Code Playgroud)将其导出到Jar文件(Path必须是您放入CLASSPATH环境变量的那个.
在Oracle Forms中创建一个新项目并创建一个Canvas,在画布中使用Text和Button.按钮的名称:TEXT_HI_WORLD.
单击菜单:程序>导入Java类
如果一切顺利,那么会有一个新的窗口显示Class所在的包,你将它扩展到HiWorld类.导入它.
在程序单元中,现在将有两个文件:
这是自动生成的文件,需要使用该类.
然后返回画布,右键单击Button并选择Thrigger WHEN-BUTTON-PRESSED,编程将是:
DECLARE
v_wb ORA_JAVA.JOBJECT;
v_hi VARCHAR2(20);
BEGIN
v_wb := hiworld.new();
v_hi:= hiworld.getHi(v_wb);
:TEXT_HI_WORLD := v_hi
END;
Run Code Online (Sandbox Code Playgroud)
现在执行程序并单击按钮!:)
希望这有助于对表单没有太多了解的Java程序员与遗留系统集成!:d
| 归档时间: |
|
| 查看次数: |
13464 次 |
| 最近记录: |