
No.3ベストアンサー
- 回答日時:
コモンダイアログでカレントディレクトリが変わる、というのは
バグではなくて仕様でしょう。
カレントディレクトリを変えたくない場合は、
cdlOFNNoChangeDir
という定数を使います(VB6 の場合)。
App.Path が変わる、というのが本当ならそれはバグですけど、
とりあえずこんなコードで、コモンダイアログで別のディレクトリに
移動しても、App.Path は変わりませんでした。
MsgBox "before: " & vbCrLf & "App.Path=" & App.Path & vbCrLf & "CurDir$=" & CurDir$
'CommonDialog1.Flags = cdlOFNNoChangeDir
CommonDialog1.ShowOpen
MsgBox "after: " & vbCrLf & "App.Path=" & App.Path & vbCrLf & "CurDir$=" & CurDir$
「App.Path」と、「カレントディレクトリ」は、
ぜんぜん別物で、同じトコロを指していることが多いからといって
混同しないように注意するべきです。
No.5
- 回答日時:
> 「VB6の開発環境上で新規プロジェクトを作成し、
> プロジェクトファイルを1度も保存していないで実行する」
確認しました。カレントディレクトリにつられて App.Path が変わりますね。
この条件なら App.Path が変わるのも納得です。ありがとうございます。
さて、元質問者さん放ったらかしで申し訳ないので、元質問に関して調べてみました。
http://www.google.co.jp/search?q=%83R%83%82%83%9 …
Win95 や NT4 や VB4 の頃にはいくつかバグがあったようです。
個人的には、コモンダイアログではどうしても機能が不足する、というのでなければ、
あらかじめ用意されているコンポーネントを使った方がいいと思います。
標準のコンポーネントなら、バグがあっても
「マイクロソフトのバグなのでどうにもできません」
って言い訳が通用する……かな?
No.4
- 回答日時:
> App.Path が変わる、というのが本当ならそれはバグですけど、
この現象についても体験したことがあります。
以下の場合に発生しました。
「VB6の開発環境上で新規プロジェクトを作成し、
プロジェクトファイルを1度も保存していないで実行する」
私は、
「プロジェクトファイルの位置が未定」なので、
「App.Pathの位置も未定」
仕方がないので、「カレントディレクトリを返す」。
と言う「仕様」だと思ってます。
No.2
- 回答日時:
> ShowOpen や ShowSave を実行した後で App.Path や Curdir() がおかしくなる、と書かれています。
この現象は知ってましたが・・・仕様だと思ってました。
ちなみに、「CurDir」(カレントフォルダ)に関しては、
「ExcelVBA」で「Application.GetOpenFilename」を使用した場合、
「VB6」でWin32APIの「GetOpenFileName」を使用した場合、
「VB2005」で「OpenFileDialog」を使用した場合、
にも発生しますから、もし「バグ」だとすると、
「VBのコモンダイアログのバグ」と言うより、
「Windowsのコモンダイアログのバグ」だと思いますけど・・・
No.1
- 回答日時:
検索してみました。
参考URLに
ShowOpen や ShowSave を実行した後で App.Path や Curdir() がおかしくなる、と書かれています。
私も、今回初めて知るバグです。ありがとうございます。
参考URL:http://www.google.co.jp/search?q=cache:http://na …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
visual studio2019でデバッグが...
-
Eclipseのブレークポイントが○...
-
デバッグとビルドは何が違うの...
-
VB6でコモンダイアログにバグ?...
-
C#、C++間のDLLの呼び出しについて
-
opencvにおけるコンパイルエラ...
-
DLL参照時に指定されたモジュー...
-
標準関数が見つからない
-
Visual Studio 2017 ビルドする...
-
visual studio 2008 のデバッグ...
-
デバッガでステップ実行してい...
-
Visual C++でコンパイルしたも...
-
ダイアログなどの文字列が文字...
-
VB6のデバッガ?強制終了?につ...
-
eclipseでデバックするとエラー...
-
Win8 で ASPのデバッグをするに...
-
MinGWのコンパイル方法(初心者)
-
vb2010にてASPWEBシステムを作...
-
vb ver6 でformat文やTrim文の...
-
VC++でSQL Serverに接続するに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DLL参照時に指定されたモジュー...
-
Eclipseのブレークポイントが○...
-
visual studio2019でデバッグが...
-
Visual studio2017で、2回目の...
-
デバッガでステップ実行してい...
-
eclipseでデバックするとエラー...
-
ブレークポイントは現在の設定...
-
デバッグとビルドは何が違うの...
-
起動時に何のダイアログも表示...
-
エラーについて
-
VB.netを実行するとデバック プ...
-
visual studio 2008 のデバッグ...
-
ビルド時のエラー(書き込みで...
-
VB6.0を使用しています
-
Visual Studio 2017 ビルドする...
-
RichTextBox使用で...
-
C# リソースに埋め込んだ.exeフ...
-
eclipseでプログラムが実行でき...
-
VB6のデバッガ?強制終了?につ...
-
visual studio 2019 についての...
おすすめ情報