過去の桐井戸端BBS (桐ver.8)
22783 ボタンを押したら別ウィンドウで桐が立ち上がるようにしたい むぅ 2003/10/14-16:47
こんにちは。
早速ですが、質問させて下さい。
(桐V8 SP6、Windows2000 です)

桐V8で作成した色々なプログラムの入り口となる、メニューフォームを作りました。

フォームにコマンドボタンを並べて、機能とイベントを使って、それぞれのコマンドやフォームを呼び出しています。
(このメニューフォームはサーバー上に置いてあり、複数のユーザーが使用します。)

やりたいことは、呼び出したコマンドやフォームを終了した時に、メニューフォームに戻って
また別のコマンドやフォームを呼び出せるようにしたいのです。

問題は、CONSTで定数宣言をした変数を、別のプログラムで使用している為、
続けて操作するとエラーとなってしまいます。
CONSTで定数宣言した変数を削除出来れば良いのですが、本を見ても分かりませんでした。

そこで、ボタンを押したら別ウィンドウで桐を立ち上げたいのですが、
シェル実行以外で何か方法はありますでしょうか?
(シェル実行は、使う人によって桐が立ち上がらなくなるエラーが出てしまったので、使えないのです。)
22784 Re:別ウィンドウで立ち上げる方法について アックン 2003/10/14-18:26
記事番号22783へのコメント
むぅさん、こんばんは。

イベント内で定数または変数を削除する方法はありません。
イベントからCMDを起動して変数削除しようとしても、できないはずです。
そこで、定数が宣言されてないときだけ宣言し、すでに宣言されているときは
なにもしないという方法はいかがでしょう。
変数の場合も、同様の方法が使えます。
(ただし、LANで試してないので、すみませんが検証してください。)

例:定数が &ナントカ・%カントカ の場合
 名札 メイン
   Cond .not#V( ナントカ ) Const 固有 , 整数 { &ナントカ=100  }
   Cond .not#V( カントカ ) Const 固有 , 整数 { &カントカ=10000 }

アックン(=^・^=)
22785 Re:別ウィンドウで立ち上げる方法について アックン 2003/10/14-19:01
記事番号22784へのコメント
すいません。カッコがなかったです。<(--;
誤   Cond .not#V( ナントカ ) ・・
誤   Cond .not#V( カントカ ) ・・
正   Cond ( .not#V( ナントカ ) ) ・・
正   Cond ( .not#V( カントカ ) ) ・・

22806 Re:別ウィンドウで立ち上げる方法について むぅ 2003/10/15-11:21
記事番号22785へのコメント
アックンさん、こんにちは。
早速のご回答ありがとうございます!
条件選択で変数が宣言されていなかったら云々は思い付きませんでした。
このような方法もあるのですね・・・。

ところで、定数で宣言されてしまった変数(文字列)を別のプログラムで使いたい場合、
この方法を使うと宣言された文字列は引き継がれてしまいますよね?
定数で宣言した変数は未定義にも出来なかったと思うので、
呼び出した別プログラムの方で再度定数宣言をすれば良いということでしょうか。

もし定数で使いたくないようなプログラムだったら・・・最後の手段として別の変数に変更するか、
定数宣言している方の変数を共通で変数宣言して文字列を代入するかを検討しないといけませんね。
専門の方が作った小難しいプログラムなので、
初心者の私はあまりいじりたくないのですが・・・。(^_^;

早速、試してみたいと思います。
有り難うございました。
22842 Re:別ウィンドウで立ち上げる方法について アックン 2003/10/16-16:59
記事番号22806へのコメント
>ところで、定数で宣言されてしまった変数(文字列)を別のプログラムで使いたい
>場合、この方法を使うと宣言された文字列は引き継がれてしまいますよね?

プログラムって、フォーム(frmとkev)のことですよね?
定数の種別が「固有」または「局所」でしたら、フォームだと閉じれば自動的に削除されますから、引き継がれないです。
メニューフォームで宣言するのではなく、メニューフォームから呼び出す各々のプログラムに、
Cond(・・) Const・・と記述して、宣言するかどうかを判断させます。
「共通」を「固有」に変更しても差し支えなさそうだったら、試してみてください。
「局所」は他の変数種別と違う関数(#局所変数・#局所変数代入)を使用するので、中途変更が難しいかもしれません。
それと、あるプログラムでは定数として使いたいが、他のプログラムでは(定数でなく)
変数を使いたいとのことですが、いっそのことすべてのプログラムを変数だけに
統一(定数を使わない)すれば、扱いがすっきりすると思います。


22843 Re:別ウィンドウで立ち上げる方法について むぅ 2003/10/16-17:10
記事番号22806へのコメント
アックンさん、こんにちは。
教えて頂きました方法を試してみました。

A.cmdで定数宣言した&ナントカを、B.cmdでも使用(定数ではなく、中身を色々変更)したいので、B.cmdの最初に

Cond (.not#V( ナントカ )) Var 固有 , 文字列 { &ナントカ="" }

としてみました。
これでエラーも出ずに続けて作業出来ました。
変数管理のウィンドウで確認したところ、A.cmdを終了してからB.cmdを実行した時、&ナントカ
の内容はちゃんと空白になっていました。
有り難うございました!

ちなみに、今後のために伺いたいのですが、シェル実行以外に桐のウィンドウをもう一つ立ち上げる方法と
いうのはやはり無いのでしょうか。(^_^;
22847 Re:別ウィンドウで立ち上げる方法について むぅ 2003/10/16-17:35
記事番号22842へのコメント
すみません、投稿が擦れ違いになってしまったようです。

>プログラムって、フォーム(frmとkev)のことですよね?

紛らわしい書き方で申し訳ありませんでした。
プログラムは、A.cmdなどの一括処理です。
それと、エラーになるのはA.cmd→B.cmdの時だけで、逆の場合はエラーになりませんでした。
A.cmdでは、
 CONST 文字列{&受注パス = "xxx"}
と宣言されています。

もう一つの解決策で、B.cmdの変数宣言の前に一旦、変数削除で共通を指定すれば良いような気もします。

>それと、あるプログラムでは定数として使いたいが、他のプログラムでは(定数でなく)
>変数を使いたいとのことですが、いっそのことすべてのプログラムを変数だけに統一(定
>数を使わない)すれば、扱いがすっきりすると思います。

そうするのが一番安全ですよね。
検討してみます。
22848 Re:別ウィンドウで立ち上げる方法について アックン 2003/10/16-17:49
記事番号22843へのコメント
むぅさん、こんばんは。
解決したそうで。支障なければそれでいいんじゃないかと。
「シェル実行以外に桐のウィンドウをもう一つ立ち上げる方法」を私は知りません。
そのへんのことは hidetakeさんや Ogoさんのような詳しい各氏に振ります。>見てたら書いてね。

22865 Re:別ウィンドウで立ち上げる方法について Ogo 2003/10/16-22:12
記事番号22848へのコメント

>「シェル実行以外に桐のウィンドウをもう一つ立ち上げる方法」を私は知りません。
>そのへんのことは hidetakeさんや Ogoさんのような詳しい各氏に振ります。>見てたら書いてね。

桐8の \Hhelp\KIRI.TXT の話は何度も出ていますが。

========================================
1.桐のコマンドライン仕様
========================================

-AO <ファイル名>
 -O <ファイル名>などで桐を起動した場合、既に桐が起動されていれば
 新しい桐のインスタンスは作成せずに既に起動されている桐で処理されます。
 別の桐のインスタンスを強制的に起動して処理させる時に使用します。

桐9では \Hhelp\KIRI9.HLP の「起動時パラメータ」

-AO△<ファイル名>
 強制的に桐をもうひとつ起動して、指定したファイルを開きます。

- - - -

これを使うのが良いとは思えない場合も多いですが、無理やり起動させる
方法はコレ。


22867 Re:別ウィンドウで立ち上げる方法について Ogo 2003/10/16-22:21
記事番号22865へのコメント

K3からの公式発表には存在しないですが、もう1つ 桐 を独立して立ち上げる方法が存在します。

-U <利用者コード>
 利用者コードを8文字以内で指定する。
 -Uを指定するとiniファイルの指定に関わらず、起動時の利用者コード入力画面
 を表示しないで、ここで指定された利用者コードを設定する。

これをコマンドラインに混ぜると、同一利用者コードで現在の 桐 が立ち上げられていようとも、
必ず別にもう1つ 桐 が立ち上がって来ます。


22876 Re:別ウィンドウで立ち上げる方法について アックン 2003/10/17-08:10
記事番号22867へのコメント
Ogoさん、忙しいときにどうもサンキューです。  アックン(=^・^=)/
22879 Re:別ウィンドウで立ち上げる方法について むぅ 2003/10/17-10:45
記事番号22865へのコメント
Ogoさん、こんにちは。

桐の別ウィンドウを立ち上げる方法について、コメント頂きまして有り難うございます。
私の検索力不足でお手間を取らせてしまって申し訳ありませんでした。

-AO "J:\xxx\A.cmd"
と、イベントなどに記述するものではないのですね・・・(^_^;
桐のコマンドライン・・・コマンドラインとは??と言う所から調べてみたいと思います。
Ogoさん、アックンさん、有り難うございました。

戻る