У меня возникла очень странная проблема с гибким компилятором (использующим Flash Builder 4.5), с которой я никогда раньше не сталкивался.
Я пытаюсь создать экземпляр класса (который существует в том же пакете), и компилятор не распознает класс как константу времени компиляции, а только в методах экземпляра. Методы класса (статические) компилируются без проблем.
Этот класс без проблем используется повсюду. Просто в этом одном месте он не будет компилироваться в методах экземпляра. Без разницы.
Я перепробовал все, что мог придумать ...
- Добавлен импорт для UploadDate (хотя класс находится в том же пакете)
- Чистый построенный проект (и все родительские / подпроекты)
- Кэш удаленной модели кода (.metadata / .plugins / com.adobe.flexbuilder.codemodel / *)
- Удален кеш всех сгенерированных ресурсов (... / com.adobe.flexide.editorcore / GeneratedAssets / *)
- Скомпилирован с использованием разных гибких SDK (3.2, 3.5, 3.6)
Вот код:
package classes
{
import classes.UploadDate;
[Bindable]
public class UserImages {
....
//this compiles with no errors
public static function classMethod():void {
var ud:UploadDate = new UploadDate();
}
//this will not compile
public function instanceMethod():void {
//1046: Type was not found or was not a compile-time constant: UploadDate
var obj:UploadDate = new UploadDate();
}
//this is the ugly workaround I am currently using (works fine at Runtime)
public function hackyMethod():void {
var Def:Class = getDefinitionByName("classes.UploadDate") as Class;
var obj:* = new Def();
}
}
}
И класс UploadDate:
package classes
{
[Bindable]
public class UploadDate {
public var date:String;
public var numImages:int;
public UploadDate() {
}
}
}
Кто-нибудь видел это раньше?
Спасибо, Мэтт
public UploadDate() {
недействителен и не будет компилироваться. Но проблема, наверное, не в этом? - person Kaken Bok   schedule 18.08.2011classes
на что-нибудь другое и сделайте то же самое дляUploadDate
- person cmann   schedule 19.08.2011