Опитвам се да използвам resourceManager във Flex за известна локализация. Имам странен проблем, при който работи добре в първия файл, в който го пробвах, но във втория дори не се компилира.
И двата файла имат
import mx.resources.ResourceBundle;
на върха и
[ResourceBundle("Hurley")]
над дефиницията на класа. Първият се компилира добре и изтегля текста от ресурсите правилно по време на изпълнение.
Вторият файл (който е в същия проект, но в различна папка) няма да се компилира и всяко споменаване на resourceManager дава грешка "1120: Достъп до недефинирано свойство resourceManager."
За двете различни приложения:
Във файла, който работи:
public function SeasonsComboBox() {
this.labelFunction = function(obj:Object):String {
return resourceManager.getString('Hurley','Season_word') + " " + obj.number;
};
}
И файлът, който не работи:
public function getCarousels(seriesId:String, callback:Function):void {
[...]
ExternalInterface.addCallback("getCarouselsFailure", function():void {
Alert.show(resourceManager.getString('Hurley','CarouselsFailure_text'), "Error", Alert.OK);
});
[...]
}
Не мога да се сетя за нещо различно, което направих в двата файла.
Редактиране, решено:
resourceManager е дефиниран във всички подкласове на UIComponent. Файлът, който работи, импортира ComboBox. Файловете, които не са. В тези файлове мога да го накарам да работи, като извикам:
ResourceManager.getInstance()
Повече информация тук: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/resources/IResourceManager.html