多重起動を禁止する方法について
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
hiro
居住地: 三重
投稿数: 188
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
みなさん こんにちは
質問ばかりで恐縮ですが、教えていただければ助かります。
同一プロジェクトの多重起動を禁止する為に
現在プロジェクト起動時にダミーで作成するテキストファイルが
有るか無いかで多重起動を抑止しています。
終了時にこのテキストファイルを削除して終了させています。
正常に動作している間は問題ないですが、ハングなどして強制
終了させた場合にテキストファイルが残ってしまいなんらかの
方法で(解除用のバッチファイルで削除)削除する必要があります。
もっとスマートな方法がありそうなのですが・・・
教えていただける方がいましたらよろしくお願いします。
以前のフォーラムで外部コールについて回答を
頂いていたmizutani@ilsさん この場でお礼申し上げます。
参考にさせていただきます。
ありがとうございました。
質問ばかりで恐縮ですが、教えていただければ助かります。
同一プロジェクトの多重起動を禁止する為に
現在プロジェクト起動時にダミーで作成するテキストファイルが
有るか無いかで多重起動を抑止しています。
終了時にこのテキストファイルを削除して終了させています。
正常に動作している間は問題ないですが、ハングなどして強制
終了させた場合にテキストファイルが残ってしまいなんらかの
方法で(解除用のバッチファイルで削除)削除する必要があります。
もっとスマートな方法がありそうなのですが・・・
教えていただける方がいましたらよろしくお願いします。
以前のフォーラムで外部コールについて回答を
頂いていたmizutani@ilsさん この場でお礼申し上げます。
参考にさせていただきます。
ありがとうございました。
投票数:0
平均点:0.00
nakaaaaa
投稿数: 68
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
hiroさん、こん●●は。
MagicV10を使ったことがないので使えるかは分かりませんが、
V9までなら「cuteExec」ってツールで2重起動を制御できます。
http://www.vector.co.jp/soft/win95/util/se382598.html
V9までなら、ショートカットのプロパティのところで・・・
===
C:\cuteexec.exe C:\Magic\V94sp6a\MGgenw.exe /INI=C:\Magic\V94sp6a\aaa\Magic.ini
===
・・・・ってな具合で設定しておけばうまくいきます。
一度試してみてはいかがでしょうか?
MagicV10を使ったことがないので使えるかは分かりませんが、
V9までなら「cuteExec」ってツールで2重起動を制御できます。
http://www.vector.co.jp/soft/win95/util/se382598.html
V9までなら、ショートカットのプロパティのところで・・・
===
C:\cuteexec.exe C:\Magic\V94sp6a\MGgenw.exe /INI=C:\Magic\V94sp6a\aaa\Magic.ini
===
・・・・ってな具合で設定しておけばうまくいきます。
一度試してみてはいかがでしょうか?
投票数:3
平均点:10.00
hiro
居住地: 三重
投稿数: 188
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
nakaaaaaさん こん●●は。
試してみました。
実行モジュールのみ(アプリは動作させず)の多重起動は抑止できました。
パスは8文字(チルダ使用)で可能なようです。
EXEベースでの抑止は出来ますがコントロールファイル毎で
出来る方法を探しています。
この方法は他に使えそうなので参考にさせて
頂きます。
ありがとうございました。
試してみました。
実行モジュールのみ(アプリは動作させず)の多重起動は抑止できました。
パスは8文字(チルダ使用)で可能なようです。
EXEベースでの抑止は出来ますがコントロールファイル毎で
出来る方法を探しています。
この方法は他に使えそうなので参考にさせて
頂きます。
ありがとうございました。
投票数:0
平均点:0.00
niki
居住地: 香川県高松市
投稿数: 3
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
こんにちは、hiroさん。
ファイルを作る代わりに、Lock(関数)をかければどうでしょうか。
次のような感じで・・・
・プロジェクト起動時、lock('プロジェクト名',0)
エラーになったら起動を抑止する
・プロジェクト終了時、unlock('プロジェクト名')
異常終了したら、リソースのロックは解除されます。
なお、v9でこれに近い処理を作ったことがあります。
v10では、試していません。
仁木
ファイルを作る代わりに、Lock(関数)をかければどうでしょうか。
次のような感じで・・・
・プロジェクト起動時、lock('プロジェクト名',0)
エラーになったら起動を抑止する
・プロジェクト終了時、unlock('プロジェクト名')
異常終了したら、リソースのロックは解除されます。
なお、v9でこれに近い処理を作ったことがあります。
v10では、試していません。
仁木
投票数:1
平均点:10.00
hiro
居住地: 三重
投稿数: 188
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
nikiさん こんにちは
>ファイルを作る代わりに、Lock(関数)をかければどうでしょうか。
LOCKで試してみました。
V10のメインプログラムのタスク前にLOCKを組み込んで
テストしたところ期待したとおりに動作しました。
ありがとうございました。
今後もよろしくお願いします。
>ファイルを作る代わりに、Lock(関数)をかければどうでしょうか。
LOCKで試してみました。
V10のメインプログラムのタスク前にLOCKを組み込んで
テストしたところ期待したとおりに動作しました。
ありがとうございました。
![](../../uploads/smil3dbd4d6422f04.gif)
今後もよろしくお願いします。
投票数:1
平均点:10.00
mtakata
投稿数: 16
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
こんにちは、仁木さん。
同一端末や同一ユーザでの多重起動抑止の仕組みで、仁木様のアイデアを使わせて頂こうと考えております。
関数ヘルプには、同一セッション内云々とありますが、同一セッションとはどの事をさしているのでしょうか、ご存じの方がいらっしゃいましたら教えて下さい。
あるいは、どこまでの範囲で"lock"が有効なのでしょうか?
1.同一PC内
・クライアントOS内(マルチインスタンス)のみ
2.同一サーバ内
・APサーバOS内(APサーバが分かれるとNG)
3.同一CTL内
・CTL内?(APサーバが分かれても同一CTLならOK?)
根本的に間違っているのかも知れませんが、他に良い案がありましたら合わせてご教授いただければ助かります。
同一端末や同一ユーザでの多重起動抑止の仕組みで、仁木様のアイデアを使わせて頂こうと考えております。
関数ヘルプには、同一セッション内云々とありますが、同一セッションとはどの事をさしているのでしょうか、ご存じの方がいらっしゃいましたら教えて下さい。
あるいは、どこまでの範囲で"lock"が有効なのでしょうか?
1.同一PC内
・クライアントOS内(マルチインスタンス)のみ
2.同一サーバ内
・APサーバOS内(APサーバが分かれるとNG)
3.同一CTL内
・CTL内?(APサーバが分かれても同一CTLならOK?)
根本的に間違っているのかも知れませんが、他に良い案がありましたら合わせてご教授いただければ助かります。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
同一セッションとは同一PC内でということではないでしょうか
設定の動作環境のマルユーザーのリソースロックファイルの場所をすべての端末から見て同じ場所にある端末が範囲かと思います。
設定の動作環境のマルユーザーのリソースロックファイルの場所をすべての端末から見て同じ場所にある端末が範囲かと思います。
投票数:1
平均点:10.00
mtakata
投稿数: 16
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
引用:
ISHIJIMA さん、こんにちは。
リソースロックファイルと言う物があったんですね。(勉強不足でした)
これを全端末同じにしてやれば、システムの構成に関係なく多重起動のチェックが出来そうですね。
ありがとうございました!
設定の動作環境のマルユーザーのリソースロックファイルの場所をすべての端末から見て同じ場所にある端末が範囲かと思います。
ISHIJIMA さん、こんにちは。
リソースロックファイルと言う物があったんですね。(勉強不足でした)
これを全端末同じにしてやれば、システムの構成に関係なく多重起動のチェックが出来そうですね。
ありがとうございました!
投票数:0
平均点:0.00