0

アプリで奇妙なことに気付きました。

この機能をトリガーする「保存」ボタンがあります。

 var saveFile:File = File.desktopDirectory.resolvePath(nameOfProject+".uct");
 saveFile.browseForSave("Save as");
 saveFile.addEventListener(Event.SELECT, saveFileToSystem);

クリックすると、「保存の参照」ウィンドウが表示され、推奨される名前のファイルが表示されます。アプリをエクスポート、インストール、および実行するときに、最初にボタンをクリックするとすべて問題ありませんが、もう一度クリックすると、場所は次のようになります。

ここに画像の説明を入力

「どこ」フィールドは同じファイルです....?また、保存をクリックしても保存されません。奇妙なことに、Flash Builder でアプリをテストしている間、これは発生しません。ヒントはありますか?

4

1 に答える 1

0

上記の回避策を実行しましたが、うまくいくようです。コードは次のようなものです。

var saveFile:File = File.documentsDirectory.resolvePath("output.file");
var tempMovedAway:File = File.applicationStorageDirectory.resolvePath("temp.temp");
currentFileRenamedForAirBug = picker.clone();
currentFileRenamedForAirBug.moveTo(tempMovedAway), true);
saveFile.addEventListener(Event.SELECT, function():void {
        tempMovedAway.deleteFile();
    } );
saveFile.addEventListener(Event.CANCEL, function():void {
        tempMovedAway.moveTo(currentFileRenamedForAirBug);
    });
saveFile.browseForSave("save file"); 
// MUST be sure to call saveFile.browseForSave, or you risk losing an existing file.

このロットを Air ランタイム (NativeApplication.nativeApplication.runtimeVersion) と Mac 専用のチェックでラップして、必要以上にこれを行うことを避けることができます。

また、ファイル保存コードが (まったく新しいファイルを作成するのではなく) 既存のファイルに変更を加えることに依存している場合は、これを少し調整する必要があります。

于 2012-10-12T19:56:38.750 に答える