• ベストアンサー

Shell関数はOSに依存?

現在VB4からVB6へのコンバージョン作業を行っています。 その際、 VB4→Windows98 VB6→Windows2000XP と、異なるOSを使用しています。 VB6の環境では、Shell関数を使用してMS-DOS バッチ ファイルの起動を行えるのですが、VB4の環境では同じコーディングでもバッチファイルが起動しない&エラーが出力されませんでした。 現在はVB4の環境をWindows95へ移す事で問題を回避したのですが (VB4の環境は比較テストに使用するだけでしたので) 98だから使えないと言うのも気持ちが悪く、質問させていただきました。 どなたかShell関数の上記点への対応策等ご存知でしたらご教授願います。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>98だから使えない 98じゃなかったけど、似たような現象に陥ったことがあります。 参考までに、そのときは ChDir ChDrive を駆使してカレントパスをバッチのパスにしてあげて、バッチをキックしたら、うまくいきました。

orangetamago
質問者

お礼

ご解答ありがとうございます。 今はもう試してみる環境が無い・・・というか契約期間が終わってしまったので試せないのが残念ですが^^; 次回同状況になった時に参考にさせて頂きます。 ありがとうございました^^

その他の回答 (1)

  • siokara
  • ベストアンサー率41% (7/17)
回答No.2

Shell関数でつまずいたこととして、引数の長さ(byte)制限があったかと思われます。 98で動作せず95で動作するということは、これは当てはまらないと思いますが、よく引っかかるかと・

orangetamago
質問者

お礼

ご解答ありがとうございます 引数の長さはパス指定の文字列の長さと考えてよろしいのでしょうか? だとすれば、ローカルドライブの直下にバッチファイルを入れていたので問題ないと思うのですが・・・ しかし今までパスの文字数で~という考え自体なかったので勉強になりました。ありがとうございます^^

関連するQ&A

専門家に質問してみよう