PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
816 98/03/11 22:00:09 RE(13):こんなところに反応してしまいました。 By M.M
813 98/03/11 16:59:43 RE(12):Windowとは限らないので注意 By Hide
812 98/03/11 16:38:00 RE(11):こんなところに反応してしまいました。 By あすかちゃんの父
809 98/03/11 14:55:07 RE(10):こんなところに反応してしまいました。 By まこと
806 98/03/11 11:18:48 RE(9):こんなところに反応してしまいました。 By manabu
803 98/03/11 10:37:20 RE(8):「親W」というのはMDIフレームのウィンドウのことですか? By まこと
802 98/03/11 10:26:19 RE(7):FAQとしてまとめてもらいたいですね By てとらぽっと
801 98/03/11 10:18:47 RE(6):Windowとは限らないので注意 By てとらぽっと
800 98/03/11 09:34:57 RE(5):ユーザーオブジェクトのParentWindow By Hide
794 98/03/10 13:25:34 RE(4):あとはGetActiveSheet()でできそうですね By てとらぽっと
793 98/03/10 13:18:11 RE(3):「親W」というのはMDIフレームのウィンドウのことですか? By あすかちゃんの父
790 98/03/10 13:04:07 RE(2):「親W」というのはMDIフレームのウィンドウのことですか? By まこと
786 98/03/10 11:49:43 RE(1):「親W」というのはMDIフレームのウィンドウのことですか? By てとらぽっと
785 98/03/10 11:15:29 Parent.ParentWindow()について By まこと

カテゴリ:旧電子会議室
日付:1998年03月10日 13:25 発信者:てとらぽっと
題名:RE(4):あとはGetActiveSheet()でできそうですね

>シートからpopupウインドウを開いて、シートに対して中断処理を行なおうとしていました。

>で、起動元のシート名を取得する方法はないという事で落ちつくのでしょうか?
>IF IsValid(シート名1)=True  then
>   シート名1.TriggerEvent(\'cancel_retrieve\')
>else
>   ・・・・・・
>の繰り返しを記述する事になるのでしょうか?
>(だとすると、アプリケーション毎に内容を変更しないといけないですね。
> そういえば、ユーザオブジェクトも参照元のWを得られなくて、それぞれで作ってますし・・)

話を簡単にするために、レスポンスウィンドウを開いて、シートに対して中断処理をかける場合なら、
MDIフレーム.GetActiveSheet().TriggerEvent(イベントID)
でいけるはずです。

しかしポップアップウィンドウということは、そのアプリケーションですでに
違うシートがアクティブになっている可能性もありますよね。その場合、ポップアップウィンドウの
Openイベントあたりで、その時点のアクティブなシート(の名前...かな?)をインスタンス変数に
でも保存しておけばいけそうな気がします。

ユーザオブジェクトの場合も、初期化関数を作って、パラメータでParentとかを指定してやるといいです。
ユーザオブジェクトで処理を実行する前に IsValid(Parentの入った変数)でチェックしておけば、
開発者が初期化関数を呼び忘れた場合も一発でわかるので、ミスはありません。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.