トップページ > 過去ログ > 記事閲覧
相対パスでの読み込みに失敗する
名前:さかな 日時: 2013/01/11 23:02

絶対パスで指定すると読み込める画像が、相対パス指定のときには読み込めなくなってしまいます。 具体的には、実行ファイルのフォルダに直接置かれた画像は大丈夫なのですが、 実行ファイルのフォルダ内のフォルダ内にその画像を移動させてLoadGraphすると、 ログに「画像ファイル××がありません」と出力されます。 移動後のファイルでも、指定方法を絶対パスに変えてみると問題なく読み込めるようです。 ソースがなくて申し訳ありませんが、何が間違っているのか、よければ教えて下さい。 環境は DXライブラリ3.09d(BCC) Windows7 64bit Home Premium です。

Page: 1 |

Re: 相対パスでの読み込みに失敗する ( No.1 )
名前:さかな 日時:2013/01/11 23:14

追記です。 今気付いたのですが、ログのエラー表示中でLoadGraph("A\\B.png");としたはずのところが 「画像ファイルC:\***\***\Debug\A\A\B.pngが〜」 といったように、頭のディレクトリ名が繰り返されていました。
Re: 相対パスでの読み込みに失敗する ( No.2 )
名前:Will 日時:2013/01/12 10:35

exeはDebugフォルダ内にあるのですよね? ".\\A\\B.png"としたらどうなりますか?
Re: 相対パスでの読み込みに失敗する ( No.3 )
名前:さかな(解決) 日時:2013/01/12 11:21

>Willさん 試してみましたが、効果はありませんでした。 実は、画像読み込みの前にファイルオープンダイアログを表示させていたのですが、 そのコードをコメントアウトすると正常に動作するようになりました… ごめんなさい、また過去ログに同じ質問があったんですね。 ファイルオープンダイアログがカレントディレクトリを変更するなんて思いもしませんでした。 二度も迷惑をおかけして申し訳ありません。
Re: 相対パスでの読み込みに失敗する ( No.4 )
名前:さかな(解決) 日時:2013/01/12 11:30

OPENFILENAMEのFlagsにOFN_NOCHANGEDIRを指定すると動きましたが、 msdnには「OFN_NOCHANGEDIRはGetOpenFileNameには無効」とありますね。 意味不明です。 単なる誤植でしょうか、それともある時点で仕様が変わったのか…

Page: 1 |