Oracle Forms Builder-更改为其他表单中的窗口

Oracle Forms Builder-更改为其他表单中的窗口,oracle,oracle10g,oracleforms,Oracle,Oracle10g,Oracleforms,到目前为止,我们有两个表单,需要使用按钮(下面的触发代码)从from1中的window1(即登录屏幕)切换到formX中的windowX: 这导致错误FRM-41052:找不到窗口:无效ID 所以问题是,我应该以某种方式将formX添加到show_窗口参数中,还是有其他方法?多谢各位 请注意,表格位于不同的文件中 表格在不同的文件中 如果表单是不同的文件,则需要使用任何适合您需要的方法调用另一个表单 show_window/go_block仅当您移动到同一形式的不同窗口/块时,才能使用序列,并显

到目前为止,我们有两个表单,需要使用按钮(下面的触发代码)从from1中的window1(即登录屏幕)切换到formX中的windowX:

这导致错误FRM-41052:找不到窗口:无效ID

所以问题是,我应该以某种方式将formX添加到show_窗口参数中,还是有其他方法?多谢各位

请注意,表格位于不同的文件中

表格在不同的文件中

如果表单是不同的文件,则需要使用任何适合您需要的方法调用另一个表单

show_window/go_block
仅当您移动到同一形式的不同窗口/块时,才能使用序列,并显示错误消息

错误FRM-41052:找不到窗口:无效ID

正在抱怨它不能进入那个窗口,因为它的形式不同

表格在不同的文件中

如果表单是不同的文件,则需要使用任何适合您需要的方法调用另一个表单

show_window/go_block
仅当您移动到同一形式的不同窗口/块时,才能使用序列,并显示错误消息

错误FRM-41052:找不到窗口:无效ID


正在抱怨它无法转到该窗口,因为它的窗体不同。

每个窗体实际上都有一个用于其所有窗口、块、项等的专用命名空间,并且您的代码始终在单个窗体的上下文中运行

要解决此问题,您需要一个表单参数,以及其他表单中的一些代码,例如:

  • 在formX中,添加一个参数操作
  • 在form1中,将值“XYZ”传递给ACTION
  • 在formX中,在
    WHEN-NEW-FORM-INSTANCE
    触发器中,检查
    :PARAMETER.ACTION='XYZ'
    ,如果是,则执行show_窗口和go_块。当窗口激活时,将相同的代码复制到您的
    触发器

  • 当然,您需要考虑参数的名称(例如ACTION)和值('XYZ'),这对将来维护表单的人来说是有意义的。

    每个表单实际上都有一个用于其所有窗口、块、项等的私有名称空间,并且您的代码始终在单个表单的上下文中运行

    要解决此问题,您需要一个表单参数,以及其他表单中的一些代码,例如:

  • 在formX中,添加一个参数操作
  • 在form1中,将值“XYZ”传递给ACTION
  • 在formX中,在
    WHEN-NEW-FORM-INSTANCE
    触发器中,检查
    :PARAMETER.ACTION='XYZ'
    ,如果是,则执行show_窗口和go_块。当窗口激活时,将相同的代码复制到您的
    触发器
  • 当然,您需要考虑参数的名称(例如ACTION)和值('XYZ'),这对将来维护表单的人来说是有意义的

    begin
      show_window('windowX');
      go_block('some_block_in_formX');
    end;