PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
1173 | 98/04/07 21:55:31 | RE(7):ウィンドウを一旦オープンする By nari |
1171 | 98/04/07 20:34:57 | RE(6):ウィンドウを一旦オープンする By あすかちゃんの父 |
1167 | 98/04/07 17:32:09 | RE(5):ウィンドウを一旦オープンする By てとらぽっと |
1165 | 98/04/07 17:26:24 | RE(4):アプリケーションの2重起動防止についての質問 By M.M |
1160 | 98/04/07 16:09:16 | RE(3):アプリケーションの2重起動防止についての質問 By koji |
1154 | 98/04/07 10:16:43 | RE(2):iniファイルから情報を取り込む方法もあります By M.M |
1152 | 98/04/07 09:12:20 | RE(1):ウィンドウ名を引数にする関数を作ります By てとらぽっと |
1150 | 98/04/06 20:54:40 | アプリケーションの2重起動防止についての質問 By koji |
カテゴリ:旧電子会議室
日付:1998年04月07日 09:12 発信者:てとらぽっと
題名:RE(1):ウィンドウ名を引数にする関数を作ります
>どうも皆さん初めて電子会議室に参加する者です、どうか宜しくお願いします。
>
>この電子会議室をよく拝見しています。
>
>議題の仲に”アプリケーションの2重起動防止”について、質問があるのですが、結果として
>FindWindowで2重化の防止ができるとの事ですが、この方法では、 アプリケーションのOPENイベントにアプリケーション毎に別々のウィンドウ名を記述しないならない為、部品(共通プログラム)として作成できません。
>
> 部品として作成したい場合、どのようなコーディングをすれば良いのか 悩んでおります。
>
>誰か、神様、助けて下さい。
>
kojiさん、はじめまして。
神様ではありませんが、単純にこういうのが思い付きます。
A.グローバル関数
B.Win32APIを集めたノンビジュアルクラス(ユーザーオブジェクト)のオブジェクト関数
のどちらでも構いませんが、ウィンドウ名を引数にする関数を作ってやればいいと思います。
その関数の中で、APIの FindWindow を呼び出してアプリケーションが既に起動しているかチェックし、
True or False を返します。あとは2重起動を禁止する旨を表示してHALTするのを
アプリケーション側のスクリプトに書きます。この強制終了を関数のほうでやってしまっても構わない
とは思いますが、アプリケーションの中で動作の決定をしたほうが第三者が見たときにメンテしやすい
かなと。
いかがでしょうか。
PowerBuilderならユーザーオブジェクトでクラスを継承して拡張したいところですが
アプリケーションオブジェクトを継承することはできないようですね。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS (記載なし)
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.