2012-03-29 81 views
0

我正在開發一個使用AS3 Facebook API的Flash應用程序(Flash Player 11作爲目標平臺),該應用程序又使用as3corelib JSON功能。或者至少它應該這樣做。錯誤:訪問未定義的屬性JSON ...但它存在

但是,儘管包含了as3corelib.swc的latest version(.93),我仍然得到了「錯誤:未定義屬性JSON的訪問」。我也試圖直接包括消息來源,但無濟於事。

任何想法我做錯了嗎?

正如我所說,* .swc絕對包括在內。就像源代碼一樣(都在正確的路徑上)。

編輯:

我有一個更具體的錯誤消息:

Error: Can not resolve a multiname reference unambiguously. JSON (from C:\Coding\FlashDevelop\Tools\flexsdk\frameworks\libs\air\airglobal.swc(JSON, Walker)) and com.adobe.serialization.json:JSON (from C:\flash_test\lib\as3corelib.swc)) are available. 

我知道,JSON包含在AIR,但我不處理空氣,爲何還嘗試包括airglobal.swc?

回答

8

您的問題是Flash Player 11及其後續版本具有本機JSON支持,因此您所包含的JSON類可能與來自as3corelib的類相沖突。因此,歧義問題。

嘗試完全刪除as3corelib,看看會發生什麼。

+0

啊,是的,當然。這是一個問題,也是FlashDevelop中的一個錯誤,它導致FD認爲我想要AIR,儘管我將FP 11指定爲目標平臺。修復後,它現在工作。謝謝! – TheSHEEEP 2012-03-29 10:31:53

+0

我試圖從我的項目lib文件夾中刪除as3corelib.swc,但它會給出新的錯誤,因爲com.adobe.utils.strinUtil找不到 – 2012-07-25 07:26:53

+0

你確定這不應該寫成「StringUtil」嗎?無論如何,你可以嘗試下載as3corelib的源代碼,只保留你需要的東西,比如StringUtil。 – TheSHEEEP 2012-07-27 07:26:00

2

指定類的完整路徑。例如,代碼:

...

變種jsonData:對象= JSON.decode(loader.data);

...

...

變種jsonData:對象= com.adobe.serialization.json.JSON.decode(loader.data); ...