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 (記載なし)

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