なでしこを明後日の方向に

日本語プログラム言語なでしこを応援しています

なでしこの作業フォルダにご注意する

windowsのタスクバーにピン止めしてある
 .nakoファイルのショートカットを起動すると、
  作業フォルダがsystem32になる。

以上です。
全国共通かどうかは知らない!

詳細

まずwindowsのタスクバーについて。
スタートボタンを含む帯状の、起動中のウィンドウのアイコンがでるエリア…で通じる?
右クリックからピン留めすると気軽に固定できる。

マイピクチャに保存した「test.nako」で確認。

//test.nakoの中身
作業フォルダ表示
母艦パス表示

「test.nako」をダブルクリックで起動すると……作業フォルダはマイピクチャ
「test.nako」をタスクバーから起動すると……作業フォルダはSYSTEMパス
いずれの場合も母艦パスはマイピクチャと表示される。

作業フォルダがSYSTEMパスだとどうなる?

隣のファイルを参照するときに問題になる。
「設定.txt」開く などの相対パスを指定した場合、作業フォルダから探す。
母艦パスの設定.txtを開くことはないので、ファイルが見つからずエラーになる。

画像の指定やファイル列挙などの相対パス指定も作業フォルダが基準なので、ピン留めから起動したときだけエラーになったりファイルが見つからなかったりする。

保存画像保存も危うい。
相対パスで.nako近くに保存先を指定したつもりがSYSTEMパスにどんどん放り込まれるのでは。

対策

「{母艦パス}設定.txt」 のようにフルパスで指定しておけばエラーにならない。

母艦パス作業フォルダ変更 とプログラムの先頭に書いておくのも手かもしれない。
ただし、忘れたころに見直して「この一行無駄だな」って言って消すことはあるかもしれない。