2009-07-16 178 views
0

最近,當我試圖表明我的工作成果(一些Flex應用程序)給我的老闆,我很驚訝,這在我的電腦上運行得很清楚,應用,在我老闆'電腦沒有正確顯示(唯一可見的是默認的灰色背景)。經過3小時嘗試絕對一切,最終,當我將Flash Player版本從標準版改爲調試時(這兩個版本都是v。10.0.22.87),應用程序出現了。有誰知道這可能是什麼原因(任何編譯器標誌或者某事)。強迫我的老闆安裝調試FP很不錯,但強制應用程序的最終用戶這樣做是不可接受的。Flex應用程序

感謝

PS:通過展示我的意思是部署到Tomcat在我的電腦,給我的老闆到應用程序的鏈接。我們都使用Win XP。另外,當我安裝了Netscape瀏覽器的調試FP和IE的標準FP(在我的電腦上)時,結果是一樣的 - 在Firefox,Opera,Chrome和IE中的灰色背景下工作。我已經編譯爲Debug和Release。我使用Flash開發3.0.2 RTM

剝我的應用程序某事像這樣後 - 它仍然只能在調試FP

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
    xmlns:ca="components.*" 
    xmlns:ea="components.editAreas.*" 
    layout="vertical" 
    backgroundColor="black"> 

    <mx:Canvas id="header" 
     verticalScrollPolicy="off" 
     horizontalScrollPolicy="off" 
     styleName="header" 
     width="100%"></mx:Canvas> 

    <mx:Canvas id="mainContent" 
     width="100%" height="100%" 
     verticalScrollPolicy="off"> 
    </mx:Canvas> 

</mx:Application> 
+0

您的老闆可以打開其他您尚未創建的swf文件嗎?我想你在編譯發佈應用程序時沒有遇到錯誤?嘗試在發佈中添加一些警報,以瞭解應用程序在多大程度上加載了 btw與最後一個代碼您看到了什麼?因爲畫布應該填充整個應用程序 – Arno 2009-07-16 12:55:50

+0

是的,他可以。不,完全沒有錯誤。 Alert甚至在預初始化時也沒有顯示出來。用上面的代碼我看到灰色背景100%x100%,而在調試時它是黑色的,就像它應該。 – 2DH 2009-07-16 13:52:52

回答

5

同一種問題的我面臨幾天就回來。

我用下面的代碼

//調用函數 traceDetails(新的錯誤())

私有函數traceDetails(ERR:錯誤):無效 { 犯錯。getStackTrace() } 在我的部分,我使用的方法是「getStackTrace()」這裏需要記住的是,getStackTrace()方法僅適用於Flash調試器和不適用於Flash播放器。所以無論我沒有安裝Flash調試器,我的應用程序都停止運行。

所以要做的事 1.檢查您是否使用任何僅在Flash調試器和不在Flash播放器中可用的API調用(如果您發現嘗試評論該行應用程序將開始運行)。 2.無論您在何處運行應用程序或在Flash Debugger API調用之前解決安裝Flash調試器版本檢查(Capabilities.isDebugger)是否僅使用這些API或跳過這些行。

我相信這將解決你的問題

編碼快樂:)

0

只是一些建議...

  • 確保您正在部署版本 構建。
  • 這樣做,你可能想 刪除瀏覽器緩存後 - 我常常 有我們的用戶做 釋放,因爲它會 偶爾加載釋放後舊版本 後放在那裏。
  • 你在使用模塊嗎?你可能是 引用一個調試模塊?
  • 檢查項目 編譯器參數中定義的路徑,如 以及您可能使用的任何模塊的路徑。你能提供給我們你的編譯器參數嗎?
  • 你和你的老闆使用的即相同的版本?
  • 是否更改了index.html文件引用另一個SWF?
0

這聞起來像一個安全問題給我;調試器比標準播放器執行更少的安全策略,並且您提及的Tomcat和那些命名空間引用表明這裏有一些與安全相關的事情。

有什麼成分。*和components.editAreas。*用的?您是否試圖加載和訪問應用程序中的任何二進制數據?你可能會發布一些更多的代碼?因爲你在這裏發佈的內容非常無害。可能更容易得到更多細節的幫助,但同樣,你很可能會遇到安全限制。

0

我基督教同意。它與標準Flash播放器的安全策略有關。刪除/修補FlexSprite類(稱爲getStackTrace()函數)後,該應用程序現在可以正常工作。感謝您的幫助。 已定義