VB6:デバッグ実行時のカレントパス
私が新規でVB6プログラムを作る時の手順は、
- VB6 IDEを起動
- 標準EXEを選択
- .frmと.vbpをソースフォルダに保存
- 作成開始
って感じです。
作りかけでIDEを終了させた場合は、2回目からはソースフォルダ内.vbpファイルダブルクリック起動なわけですね。
で、ソースフォルダにデータファイルとか置いて参照しようとすると、読めなくてびっくり。
実はVB6 IDEから起動すると、カレントパスがVB6.EXEの存在パスになります。
.vbpダブルクリックで起動した場合は、その.vbpの存在パスで。
ふつー実行ファイルと同じフォルダに置いたデータファイルを読む時にはApp.Pathからフルパスを生成するんですけど、今回参加しているプロジェクトのセオリーが ".\(ファイル名)"ってなんでこんな記述にしているのかよくわからないリテラルなので、IDEの起動操作手順がもろに影響してしまっていたのでした。
それにしても".\"、意味なさすぎ。ただファイル名だけなのとまったく変わりません。
なんのつもりでこんなセオリーが普及定着しちゃってんだろう。
あーびっくりした。