別のPGに値をわたすには

解決


ビギナー  2005-02-06 17:37:23  No: 88279  IP: [192.*.*.*]

http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200502/05020001.txt
で質問した内容とかぶるのですがよく理解できなかったのでまた質問しまsた。

ログイン画面のPGでログイン後,別のPGに移るのですがそのPGのフォームでログイン時のIDを表示したいのです。
そのため,ログインした時の値を別のPG上に渡したいのですが,どうしたらいいでしょうか。PGの移動はShell関数で行っています。

先の質問のCommand関数を調査してテストしてみたけど上手くいきませんでした。私のコードが間違っているだけかもしれませんが・・

編集 削除
。。。  2005-02-06 18:28:34  No: 88280  IP: [192.*.*.*]

>上手くいきませんでした
これだけで済ませるのはそろそろやめにしませんか?
何をもって上手くいかないと判断したとか、何がどう上手くいかないのか
具体的に書いて下さい。
Command関数で起動オプションが取得できなかったとか。

>私のコードが間違っているだけかもしれませんが・
そう思うなら、なおさら質問の意図がわからなくなります。
コードも示さずに間違っているかどうかも分かるわけないでしょう。

編集 削除
結局  2005-02-06 19:00:08  No: 88281  IP: [192.*.*.*]

魔界の弁士さんが回答しているのに、全く無視していますが、
開発環境は、VB6でいいのですか?

編集 削除
いな  2005-02-06 19:10:08  No: 88282  IP: [192.*.*.*]

うまくいかないのは、起動元、起動先のどちら?

いきなりたくさんのことをやろうとしても駄目です。
起動先は、Command関数で受け渡された値を取得できているのか?
起動元は、起動先のプログラムにログイン時のIDを渡せているのか?

>私のコードが間違っているだけかもしれませんが
環境設定不備等でないのであれば、コードが間違ってます。

編集 削除
じゃんぬねっと  URL  2005-02-07 09:17:40  No: 88283  IP: [192.*.*.*]

コマンドライン引数について、調べてみるだけじゃないのでしょうか...
Command$() 関数がわからないのでしょうか?
Shell() 関数がわからないのでしょうか?

編集 削除
ビギナー  2005-02-08 14:39:15  No: 88284  IP: [192.*.*.*]

環境はVB6.0(SP6)を使用してます。

コードは簡単に書くと
呼び出し元
Shell **.exe,パラメータ1,パラメータ2

呼び出し先
str = command()
temp = split(str,",")

みたいなかんじで記述してます。

編集 削除
じゃんぬねっと  URL  2005-02-08 14:58:16  No: 88285  IP: [192.*.*.*]

> Shell **.exe,パラメータ1,パラメータ2

カンマ区切りなのは、まずいのでは?

質問元を再度御覧ください。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200502/05020001.txt

編集 削除
いな  2005-02-08 15:27:22  No: 88286  IP: [192.*.*.*]

余り、カンマ区切りでは渡さないけど、
最悪ダブルクオートで囲むかね。

編集 削除
魔界の仮面弁士  2005-02-08 15:44:11  No: 88287  IP: [192.*.*.*]

> Shell **.exe,パラメータ1,パラメータ2
イメージで書かずに、実際のコードを貼りましょう。(^^;

で。他の方も書かれていますが、カンマ区切りはまずいです。
カンマを含んだ "TEST,P1.exe" というファイル名もありえますからね。

この場合は、
  Shell "C:\Project1.exe aaa bbb"
のように、空白で区切って指定します。カンマを使うにしても、
  Shell "C:\Project1.exe aaa,bbb"
のように、パラメータ内にて使うようにします。


パラメータが文字列変数になっているなら、&演算子で連結して
  Dim Path As String
  Path = exeファイルのフルパス
  Path = Path & " " & パラメータ1 & "," & パラメータ2
  Shell Path
のような感じになりますね。

編集 削除
ビギナー  2005-02-08 17:41:08  No: 88288  IP: [192.*.*.*]

標準モジュールでパブリック変数A,Bを設定して
それをパラメータのところに記述しているのですが
これもマズいのでしょうか。

編集 削除
ビギナー  2005-02-08 17:47:44  No: 88289  IP: [192.*.*.*]

呼び出し元
Chk = Shell("***.EXE " & A & "," & B  , vbNormalFocus)
If Chk = 0 Then
   MsgBox "プログラムの起動に失敗しました。"
End If

呼び出し先
Str = command()
Tmp = split(str,",")

のような感じで試したところ上手くいきました。
ありがとうございました。

編集 削除
いな  2005-02-08 17:50:09  No: 88290  IP: [192.*.*.*]

解決時には、チェックを・・・。

編集 削除
ビギナー  2005-02-08 18:19:53  No: 88291  IP: [192.*.*.*]

Shell("***.EXE " & text1.text & "," & text2.text  , vbNormalFocus)

とするとパラメータの取得に失敗しました・・
というメッセージが出てきました。

パラメータで宣言するものとかって決まっているのでしょうか。

>解決時には、チェックを・・・。
どうも,すいませんでした。
その時はできた喜びで忘れていました。反省してます。

編集 削除
いな  2005-02-08 21:21:13  No: 88292  IP: [192.*.*.*]

だ・か・ら、カンマはまずいので、こうじゃない?

Shell("***.EXE " & text1.text & " " & text2.text  , vbNormalFocus)
                                ~~~

編集 削除
ビギナー  2005-02-09 09:25:17  No: 88293  IP: [192.*.*.*]

解決できました。
どうも,ありがとうございました。

編集 削除