在 powerbuilder 11.5 中关闭 windowA 从 window B 打开 windowB

closing windowA which opened windowB from window B in powerbuilder 11.5

假设我有 windowA、windowB 和 windowC 以及许多其他。

我想关闭一个 window,它从打开的 window 中打开另一个 window。

like 如何从 windowB 关闭 windowA 如果从 windowA 打开 windowB?

任何 window 都可以打开任何其他 window,并且它们具有相同的菜单项。

所有windows都是主要类型。

不知道 windows 的 种类 你的 windows 的答案是 'it depends'。

如果它们都是主要类型 windows 你可以这样做:

IF IsValid(w_a) THEN Close(w_a) END IF

这会调用 window 'w_a' 上的关闭函数。然而,closequery 事件中可能有代码会阻止它关闭。

由于无法查明特定 window 的打开方式,因此您必须将引用传递给新的 window 并将其存储在那里供以后使用。

在windowA上,使用OpenWithParm(windowB,this)(这里指的是WindowA),在WindowB上的开放事件中:iw_opener = Message.PowerObjectParm .当然,这里应该做一些健全性检查,并且 iw_opener 必须声明为实例变量,如 window iw_openener.

要从 WindowB 关闭 WindowA 只需执行 close(iw_opener).