Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex Adobe Flex Builder 3:无法向现有项目的任何类添加任何方法/函数?_Apache Flex_Actionscript 3_Adobe - Fatal编程技术网

Apache flex Adobe Flex Builder 3:无法向现有项目的任何类添加任何方法/函数?

Apache flex Adobe Flex Builder 3:无法向现有项目的任何类添加任何方法/函数?,apache-flex,actionscript-3,adobe,Apache Flex,Actionscript 3,Adobe,我是Adobe Flex Builder 3的新手。 我被分配了一个全功能项目,但当我想向任何类添加最简单的函数时,我总是会遇到相同的错误: 通过静态类型的引用调用可能未定义的方法 例如,在某个随机类中,有一个函数定义如下: public function GetID() :String { return m_strID; } trace ("This line is ok : " + oPhysicalScreen.GetID()); trace ("This line gives

我是Adobe Flex Builder 3的新手。 我被分配了一个全功能项目,但当我想向任何类添加最简单的函数时,我总是会遇到相同的错误:

通过静态类型的引用调用可能未定义的方法

例如,在某个随机类中,有一个函数定义如下:

public function GetID() :String     { return m_strID; }
trace ("This line is ok : " + oPhysicalScreen.GetID());
trace ("This line gives me an error : " + oPhysicalScreen.GetIDFoo());
如果我尝试定义一个新的,如下所示:

public function GetIDFoo() :String      { return m_strID; }
然后我试着这样称呼他们:

public function GetID() :String     { return m_strID; }
trace ("This line is ok : " + oPhysicalScreen.GetID());
trace ("This line gives me an error : " + oPhysicalScreen.GetIDFoo());
有线索吗

问候,, 米歇尔

PS:我打电话的完整代码:

public function UpdatePhysicalScreenData(oScreenNode:XML):void 
{
    if (m_vPhysicalScreens == null)
    {
        return;
    }

    var oScreenList:CMultyList = m_rBasicScreen.GetPhysicalScreensPanel().GetScreenList();

    var oPhysicalScreen:CPhysicalScreen = FindPhysicalScreen(oScreenNode.@id);

    if (oPhysicalScreen == null)
    {
        oPhysicalScreen = new CPhysicalScreen();
        {
            oPhysicalScreen.Initialize(oScreenNode.@id);
            oPhysicalScreen.SetInfo(oScreenNode.@info);

            var eList:uint = oScreenNode.@list;

            if (eList < SCREENS_LIST_TITLES.length)
            {
                oScreenList.SelectCurrentList(eList);
            }
            else
            {
                oScreenList.SelectCurrentList(2);//Test
            }
            var oNewEntry:CEntry = oScreenList.CreateEntryInCurrentList(oPhysicalScreen.GetID() + " " + oPhysicalScreen.GetInfo(), oPhysicalScreen);
            //var oNewEntry:CEntry = oScreenList.CreateEntryInCurrentList(oPhysicalScreen.GetDisplayName(), oPhysicalScreen);

            oNewEntry.ChangeTextColor(CPanelPhysicalScreens.STATE_COLORS[oPhysicalScreen.GetState()]);
        }

        m_vPhysicalScreens.AddAtEnd(oPhysicalScreen);
    } 

    if (oPhysicalScreen != null)
    {
        //should never be null but ...
        trace ("UpdatePhysicalScreenData : " + oPhysicalScreen.GetID() + " " + oPhysicalScreen.GetInfo() + " State : "+ oPhysicalScreen.GetState());
        trace ("UpdatePhysicalScreenData : " + oPhysicalScreen.GetIDFoo() + " " + oPhysicalScreen.GetInfo() + " State : "+ oPhysicalScreen.GetState());
    }
    oPhysicalScreen.SetDiffusionCode(oScreenNode.@diffusionCode);
    oPhysicalScreen.SetCurrentSequence((int)(oScreenNode.@currentSequence));
    oPhysicalScreen.SetIsAlive(oScreenNode.@alive == "true");
}

您发布的类CPPhysicalScreen不包含结束语
}


此外,您可能还需要将其打包。

我已经找到了解决方案,感谢@jeremy.moore和@frankhermes:-)

在“项目属性:ActionScript生成路径:库路径”选项卡中

存在现有的项目库

一个包含一些swc文件的“lib”文件夹。这些swc来自另一个需要的项目

我添加了一个新项目(添加项目按钮),然后我选择了构建所需swc文件的项目

现在,当我在这些其他项目中进行更改时,它们将可用于我的主项目

我想当这个项目交给我的时候,这些就没有联系了


感谢帮助您的人:-)

这只是一个想法,但是当您调用该方法时,oPhysicalScreen的类型是什么?它是如何在类中声明的?在调用“GetIDFoo()”时,oPhysicalScreen是否可能被引用为一种接口类型,而该接口不包含您引入的方法?能否添加完整代码??基本的函数定义和原型设计似乎很好。CPPhysicalScreen与具有函数UpdatePhysicalScreenData的类在不同的项目中吗?未包括您的包区域设置和导入。。。(我猜我的问题会给你问题的答案?)。祝你好运——Jeremy你能通过改变一个有效的函数来打破现有的代码吗?如果该更改也没有更改任何内容,则您必须编辑错误的源文件。也许这些类也在.swc中?您可以将该Canra项目的bin文件夹添加到其他项目的库路径中。这样,swc文件源的更改将自动进入您的其他项目。感谢您的输入,但如上所述,这只是类定义的开始。而且所有东西都在一个包中。通常这种错误是由于大括号不正确造成的。事实上,你发布的代码在调用的地方我看到了一组额外的大括号,这不是问题所在,但是,这是你可能想回顾的东西。没有你发布完整的代码,我真的说不出更多。好吧,你必须明白,在项目中的一切工作良好。我刚刚复制了“GetID”函数名“GetIDFoo”。然后,在调用“GetID”的地方,我调用“GetIDFoo”,实际上我不碰任何其他东西:-/