
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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# ActiveXコントロールを.NETにインポートできない??? 2 2023/05/02 02:50
- Visual Basic(VBA) VB6の公式リファレンスはありますか?特に既定のプロパティを知りたいです 1 2022/11/25 12:00
- Visual Basic(VBA) VBAでArrayListを使う為の「mscorlib.tlb」の参照設定について 3 2022/03/23 19:45
- 政治 リーダーシップと外交政策についての発表をするのですが、 リーダーシップの対外政策への影響を受け、リー 1 2023/05/07 14:22
- 工学 音声合成を追加 3 2023/01/30 11:52
- BTOパソコン 初めのうちは問題なく使えていたのですが昨日いきなりホームに行くと落ちたり、BIOSがバグったりします 5 2023/01/03 16:50
- JavaScript useStateの分割代入について 1 2022/05/06 10:02
- その他(ゲーム) アタリショックを起こしたクソゲー「E.T.」 どんな内容なら失敗しなかったか? 3 2023/05/07 09:33
- Instagram Instagramでバグが起きました。Androidです。 画像は左がストーリーにあげた後です。右が 1 2022/08/18 11:55
- デスクトップパソコン 光学ドライブのトレーを閉めると画面が真っ黒になりグラボのファン?ブン回り?? 2 2023/05/19 08:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
visual studio2019でデバッグが...
-
Visual C++でコンパイルしたも...
-
vbprojファイルが開けません
-
VB2005でデバッグ実行できない
-
複数のプロジェクトがある場合...
-
デバッグとビルドは何が違うの...
-
Visual C++ 2005でソケット通信...
-
デバッガでステップ実行してい...
-
C#、C++間のDLLの呼び出しについて
-
eclipseでデバックするとエラー...
-
visual studio 2008 のデバッグ...
-
C#のコントロールdllをVBツール...
-
VB6のデバッガ?強制終了?につ...
-
ブレークポイントは現在の設定...
-
VS2003とVS2005におけるActiveX...
-
エラーの時デバッグを止める
-
Eclipseのブレークポイントが○...
-
VSのデバッグ実行とデバッグな...
-
VBA(Excel)の表示が元に戻らない
-
VBでブックマークを保存する方...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eclipseでデバックするとエラー...
-
Visual studio2017で、2回目の...
-
DLL参照時に指定されたモジュー...
-
visual studio 2019 についての...
-
eclipseでプログラムが実行でき...
-
visual studio2019でデバッグが...
-
デバッグとビルドは何が違うの...
-
Eclipseのブレークポイントが○...
-
visual studio 2008 のデバッグ...
-
ブレークポイントは現在の設定...
-
デバッガでステップ実行してい...
-
ソリューションをまたがるデバ...
-
Visual Studio 2010 のC#で…
-
VC++でSQL Serverに接続するに...
-
vbprojファイルが開けません
-
VB6.0を使用しています
-
VC++でDeugモードOKで、Release...
-
Visual C#で、usingが出来ない...
-
VB.netを実行するとデバック プ...
-
C言語での開発でエラーが出て困...
おすすめ情報