在 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)
.
假设我有 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)
.