Oracle Forms 从自定义菜单中调用多个表单的某些画布 (mmb)

Oracle Forms Call Certain Canvases of Multiple Forms from Custom Menu (mmb)

我有一个主窗体 ("users.fmb")、另一个窗体 ("cards.fmb") 和一个自定义菜单 ("menu.mmb")。我想根据选择的菜单项调用 canvases 个表单。

例如:当我选择1.菜单项时,调用canvasA"users"格式。当我选择 2. 菜单项时,调用 canvas B 的 "cards" 形式。菜单("menu.mmb")与主("users")表单相关。

我该怎么做?

我尝试使用

CALL_FORM, OPEN_FORM, GO_BLOCK, SHOW_VIEW, SET_WINDOW_PROPERTY 

用了不同的方法,但都没有用。

如果您的菜单仅附加到users.fmb,您将无法再次调用users.fmb 来自 cards.fmb(退出 cards.fmb 除外)。

此外,如果您从 cards.fmb 再次调用 users.fmb,您的调用堆栈中将有 3 个表单(users.fmb -> cards.fmb -> users.fmb),这不是一个好主意。

我想您必须创建另一个表单作为主屏幕,您可以从中 运行 users.fmb card.fmb(你可以使用 CALL_FORM)。

您也可以使用 SHOW_VIEW 来显示特定的 Canvas,但您必须在目标表单中执行此操作。 您可以将 canvas 名称作为表单参数(称为 "navigation_canvas")并在 WHEN-NEW-FORM-INSTANCE 触发器中传递,如果此参数不为空,则您可以导航到所需的 canvas 使用 SHOW_VIEW(:parameter.navigation_canvas)