oracle form 6i 从十字按钮关闭 window

oracle form 6i closing window from cross button

当我从十字按钮关闭 window 时,它会弹出是否要保存所做的更改,因为我知道我可以使用带有此代码的按钮

EXIT_FORM(NO_VALIDATE, NO_COMMIT);

但是如果用户通过十字按钮关闭表单,它会弹出我所做的

WHEN-WINDOW-CLOSED
EXIT_FORM(NO_VALIDATE, NO_COMMIT);

但是我需要一些在 WHEN-NEW-FORM-INSTANCE 上触发的信息,但它不起作用。

因此,如果用户提交保存,则必须保存一些我不想保存的数据。

据我所知,EXIT_FORM接受none,一个或两个参数,它们是:

  • exit_form
  • exit_form (commit_mode)
  • exit_form (commit_mode, rollback_mode)

您使用了带有两个参数的第三个选项,但是 - 它们都属于 提交模式(即 ask_commitdo_commitno_commit, no_validate).

也许 Forms 对这些值感到困惑并提示用户 nonetheless。我建议你只尝试其中一个,例如no_validate 会的

exit the current form without validating the changes, committing the changes, or prompting the operator


顺便说一句

if user commit save some data must be saved which I don't want to save.

对我来说没有意义。 用户 应该决定是否保存更改,而不是您。如果您作为开发人员想要控制它,请创建验证触发器(WHEN-VALIDATE-ITEMWHEN-VALIDATE-RECORD)并且 - 如果出现问题,请引发错误。

谢谢小脚,我感谢你每次回复我,我得到了答复 我所做的很简单,就是我做了 SDI Window - 允许关闭:否 和 windows 样式将文档更改为对话框 我得到了我需要的 再次感谢您的热心回复