PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
4355 98/12/11 18:11:12 RE(4):PB5.0.04: ありがとうございます。うまくいきました(^。^)。 By matsuoka
4350 98/12/11 15:44:28 RE(3):PB5.0.04: はじめましてメインアプリからサブアプリを終了させたい。 By めめ
4336 98/12/10 18:24:15 RE(2):PB5.0.04: はじめましてメインアプリからサブアプリを終了させたい。 By M.M
4324 98/12/10 15:16:33 RE(1):PB5.0.04: はじめまして。メインアプリケーションからサブアプリケーションを終了させたい。 By あすかちゃんの父
4317 98/12/10 14:24:50 PB5.0.04: はじめまして。メインアプリケーションからサブアプリケーションを終了させたい。 By matsuoka

カテゴリ:PowerBuilderの開発環境
日付:1998年12月10日 18:24 発信者:M.M
題名:RE(2):PB5.0.04: はじめましてメインアプリからサブアプリを終了させたい。

「matsuoka」さん、「あすかちゃんの父」さん、こんばんは。
(冬は日が暮れるのは早いですねー、季節を実感できるようになりました)

>>はじめまして。早速ですが
>>メインアプリケーションの終了ボタンが押下されたら、メインから起動されたすべてのサブア
>>プリケーションを終了させる、という動作を行わせたいのですが、どうにもうまくいきません。
>>ためした方法としては、WinApi関数 FindWindowA()とDestroyWindow()をローカル外部関数と
>>して宣言し、終了ボタンが押下されたらFindWindowA()を使って起動チェックを行い、起動され
>>ていたらFindWindowA()の戻り値のハンドルを使用しDestroyWindow()を行ってみましたがどうも
>>DestroyWindow()がうまく動いてくれません。

>思い付く一番エレガントな方法は、メイン・アプリからサブ・
>アプリにメッセージを送りサブ・アプリのイベントを起動して、
>サブ・アプリはそのイベントでアプリケーションを終了すると
>いうものです。
>こうすればサブ・アプリ側でアプリケーション終了のための処
>理を確実に出来るようになります。
>メッセージの送信は、PBのスクリプトで出来るかどうか分かり
>ませんが、WinAPIでしたらSendMessage関数で出来ます。メッセー
>ジの送り先のウィンドウ・ハンドルが取得できれば、送れると
>思います。(以下、略)

PBのSend関数でメッセージを送れます。(WinAPIのSendMessageと同じ)
後、Post関数もあります。(WinAPIのPostMessageと同じ)

確実なのはDDE(DynamicDataExchange)で別のアプリにメッセージを送って、
DDE受信のイベント内でアプリケーション終了のロジックを記述する方法もあると思います。
OLEでもできると思いますが、PB-PB間のOLEの処理は書いたことが無いので、自信はないです。

※PBユーザはほとんどWindowsマシンなので問題ないと思いますが、使用するマシンによっては
 半角カナが御法度なマシンもありますので、インターネット上では全角カナを使用するように
 しませう。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

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

Server SoftWare

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

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