我完全新的到Adobe的Flex Builder 3 我被分配了一个功能齐全的项目,但我想最简单的功能添加到任何类,我总是得到同样的错误:Adobe Flex Builder 3:无法将任何方法/函数添加到现有项目的任何类中?
呼叫通过与静态类型
例如参考可能未定义的方法,在一些随机类有这样定义的函数:
public function GetID() :String { return m_strID; }
如果我尝试定义新象下面这样:
public function GetIDFoo() :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([email protected]);
if (oPhysicalScreen == null)
{
oPhysicalScreen = new CPhysicalScreen();
{
oPhysicalScreen.Initialize([email protected]);
oPhysicalScreen.SetInfo([email protected]);
var eList:uint = [email protected];
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([email protected]);
oPhysicalScreen.SetCurrentSequence((int)([email protected]));
oPhysicalScreen.SetIsAlive([email protected] == "true");
}
启动类定义的:
public class CPhysicalScreen
{
public static var STATE_UNUSED :uint = 0;
public static var STATE_SYNC :uint = 1;
public static var STATE_UNSYNC :uint = 2;
public static var STATE_KO :uint = 3;
public static var STATE_MAX_WAIT_TIME :uint = 5000;
private var m_strID :String;
private var m_eState :uint;
private var m_strInfo :String;
private var m_strDiffusionCode :String;
private var m_uiCurrentSequence :int;
private var m_bIsAlive :Boolean;
public function CPhysicalScreen()
{
super();
m_strID = null;
m_eState = STATE_UNUSED;
m_strInfo = "";
m_strDiffusionCode = "";
m_uiCurrentSequence = 0;
m_bIsAlive = false;
}
public function GetID() :String { return m_strID; }
public function GetIDFoo() :String { return m_strID; }
...
只是一个想法,但什么是当你调用oPhysicalScreen的类型方法?它在课堂上如何声明?是否可能oPhysicalScreen被引用为您调用“GetIDFoo()”的接口类型,并且接口不包含您引入的方法? – bedwyr 2011-03-28 15:09:10
你可以添加完整的代码?基本的功能定义和原型设计似乎很好。 – Neeraj 2011-03-28 15:10:34
我在电话中添加了全功能代码。 和类定义的开始... – Michel 2011-03-28 15:32:00