我收到了一个Flex项目,当我尝试编译它时,我得到一些1046错误,说明找不到Type或者不是编译时常量MyClass
但是 - 相应的文件在导入子句中列在文件的顶部,如下所示:
import com.folder1.folder2.folder3.MyClass;
如果我检查文件夹结构,MyClass.as就在那里。
但是,如果我输入相同的行(import com.folder1.folder2.folder3.MyClass;)并检查每一行。自动完成建议的内容,我只看到硬盘上实际存在的类的一部分。
什么决定自动完成功能建议哪些类和文件夹?我没有在导入MyClass
的相应import语句上得到任何编译错误//编辑:
屏幕截图1显示了发生错误的文件,该文件尝试导入有问题的类(Updater)
http://neo.cycovery.com/flex_problem.gif
屏幕截图2显示了Updater.as文件
http://neo.cycovery.com/flex_problem2.gif
路径的审查部分在两种情况下都匹配(Updater.as中的文件夹结构和包语句)
屏幕截图3显示了错误实际发生的位置:
http://neo.cycovery.com/flex_problem3.gif
有趣的是,变量声明
private var _updater:Updater = new Updater();
进一步在文件中没有出错
答案 0 :(得分:1)
此项目设置错误。很明显你的应用程序找不到类
将“com”文件夹和所有内容移至“src”文件夹中。
或者可能在源路径中包含文件?
右键单击项目名称 - > gt; properties-> flex Build Path->添加文件夹
答案 1 :(得分:0)
导入基于文件本身内的“包”声明(位于文件顶部)。如果文件的包声明与实际的文件夹结构不匹配,则会出现问题。
答案 2 :(得分:0)
检查自动填充列表中无法看到的类。也许那些类的包名与实际结构不匹配。
罗布
答案 3 :(得分:0)
检查您的actionscript源路径。您正在看到的文件夹(事件和对象)是否有明确的位置,而其他文件夹没有?通常,您将所有源代码放在源路径中的src文件夹中,以便编译器可以在其中的任何位置找到任何内容。但你可以轻松地使你的源路径过于具体,只是看到一些东西......