Я хотел бы узнать, как3 делает что-то делает в bakground. Моя проблема заключается в том, что я пытаюсь упаковать документ с помощью indesign sdk, прямо перед тем, как я импортирую xml, и проблема в том, что документ не может быть сохранен при упаковке, и я уверен, что это связано с тем, что импорт еще не готов. Это код:as3 узнать, если as3 занят чем-либо
IDScriptingEventAdapter.getInstance().addEventListener(Document.AFTER_IMPORT, afterImport);
document.xmlElements.item(0).xmlElements.item("test").importXML(File.applicationStorageDirectory.resolvePath("temp/styles.xml"));
public function afterImport(event:ImportExportEvent):void {
var docPackaged:Boolean=app.activeDocument.packageForPrint(packagePath, true, true, true, true, true, true, true);
}
Как вы можете видеть, вызов функции с Document.AFTER_IMPORT
слушателя, но по какой-то причине он получает срабатывает в ближайшее время.
После некоторых тестов я заметил, что импорт завершен, но xmlElements arent на месте еще к тому моменту, когда обработчик выполняется. В результате этого документ не готов к тому времени, когда он упакован, поэтому он не может сохранить документ.
Правильная ошибка я получаю это:
Cannot save a copy of “CataloogCS5.indd”.\n
Так есть путь можно увидеть, если AS разве делать больше ничего (добавляются все xmlElements) или другое решение моей проблемы?