ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

多重起動を禁止する方法について

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2007-5-16 14:51
hiro  長老 居住地: 三重  投稿数: 188
みなさん こんにちは
質問ばかりで恐縮ですが、教えていただければ助かります。

同一プロジェクトの多重起動を禁止する為に
現在プロジェクト起動時にダミーで作成するテキストファイルが
有るか無いかで多重起動を抑止しています。
終了時にこのテキストファイルを削除して終了させています。
正常に動作している間は問題ないですが、ハングなどして強制
終了させた場合にテキストファイルが残ってしまいなんらかの
方法で(解除用のバッチファイルで削除)削除する必要があります。
もっとスマートな方法がありそうなのですが・・・
教えていただける方がいましたらよろしくお願いします。

以前のフォーラムで外部コールについて回答を
頂いていたmizutani@ilsさん この場でお礼申し上げます。
参考にさせていただきます。
ありがとうございました。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2007-5-16 15:57
nakaaaaa  常連   投稿数: 68
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
===

・・・・ってな具合で設定しておけばうまくいきます。

一度試してみてはいかがでしょうか?
投票数:3 平均点:10.00
depth:
2
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2007-5-16 17:45
hiro  長老 居住地: 三重  投稿数: 188
nakaaaaaさん こん●●は。
試してみました。
実行モジュールのみ(アプリは動作させず)の多重起動は抑止できました。
パスは8文字(チルダ使用)で可能なようです。
EXEベースでの抑止は出来ますがコントロールファイル毎で
出来る方法を探しています。
この方法は他に使えそうなので参考にさせて
頂きます。
ありがとうございました。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2007-5-16 18:31
niki  新米 居住地: 香川県高松市  投稿数: 3
こんにちは、hiroさん。

ファイルを作る代わりに、Lock(関数)をかければどうでしょうか。

次のような感じで・・・

・プロジェクト起動時、lock('プロジェクト名',0)
 エラーになったら起動を抑止する
・プロジェクト終了時、unlock('プロジェクト名')

 異常終了したら、リソースのロックは解除されます。

なお、v9でこれに近い処理を作ったことがあります。
v10では、試していません。

仁木
投票数:1 平均点:10.00
depth:
2
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2007-5-17 11:35
hiro  長老 居住地: 三重  投稿数: 188
nikiさん こんにちは

>ファイルを作る代わりに、Lock(関数)をかければどうでしょうか。

LOCKで試してみました。
V10のメインプログラムのタスク前にLOCKを組み込んで
テストしたところ期待したとおりに動作しました。
ありがとうございました。
今後もよろしくお願いします。
投票数:1 平均点:10.00
depth:
2
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009-7-10 17:12
mtakata  新米   投稿数: 16
こんにちは、仁木さん。

 同一端末や同一ユーザでの多重起動抑止の仕組みで、仁木様のアイデアを使わせて頂こうと考えております。

 関数ヘルプには、同一セッション内云々とありますが、同一セッションとはどの事をさしているのでしょうか、ご存じの方がいらっしゃいましたら教えて下さい。
 あるいは、どこまでの範囲で"lock"が有効なのでしょうか?

1.同一PC内
 ・クライアントOS内(マルチインスタンス)のみ
2.同一サーバ内
 ・APサーバOS内(APサーバが分かれるとNG)
3.同一CTL内
 ・CTL内?(APサーバが分かれても同一CTLならOK?)

 根本的に間違っているのかも知れませんが、他に良い案がありましたら合わせてご教授いただければ助かります。
投票数:0 平均点:0.00
depth:
3
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009-7-10 20:59
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
同一セッションとは同一PC内でということではないでしょうか

設定の動作環境のマルユーザーのリソースロックファイルの場所をすべての端末から見て同じ場所にある端末が範囲かと思います。
投票数:1 平均点:10.00
depth:
4
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009-7-11 16:00
mtakata  新米   投稿数: 16
引用:

設定の動作環境のマルユーザーのリソースロックファイルの場所をすべての端末から見て同じ場所にある端末が範囲かと思います。

ISHIJIMA さん、こんにちは。

リソースロックファイルと言う物があったんですね。(勉強不足でした)
これを全端末同じにしてやれば、システムの構成に関係なく多重起動のチェックが出来そうですね。

ありがとうございました!
投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約