我完全新的到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