2011-08-22 62 views
4

這裏我們想要在一個「關於我們」屏幕的標籤中顯示Flex項目的版本號。單獨使用actionScript獲取和設置應​​用程序的flex版本號

我想檢索內部版本號和最後編譯的時間戳動態。

我在網上衝浪,發現在許多使用紅寶石或蝙蝠編碼進行更新版本號和檢索的例子。是否有任何方法動態更新和維護版本號(每次啓動調試器時)單獨使用動作腳本(無需使用任何其他語言的編碼)。

請幫助我。提前致謝。

+0

我看不出有什麼很好的SDK版本會給你。它幾乎不會改變,即使那樣也不會給你任何好的信息。你不想讓你的應用程序的內部版本號而不是SDK的? –

+0

你好吧幫我拿到我的應用程序的內置號碼。 –

+0

我實際上需要回顧我的項目(這是在flex中開發的)vertion號碼。我如何檢索並將其存儲在versionLable.text中..請幫助我 - –

回答

4

Flex版本號是可用的,但它是命名空間。您必須使用名稱空間mx_internal才能夠訪問它。就像這樣:

import mx.core.mx_internal; 

use namespace mx_internal; 

versionLabel.text = VERSION; 

通常你應該把一切Adobe已經命名空間「mx_internal」小心,因爲他們不保證任何在那裏將保持不變,Flex中的未來版本。因此,升級Flex SDK時可能遇到向後兼容性問題。儘管如此,他們似乎不大可能對VERSION常量進行更改。

+0

嗨RIAstar我認爲你給了我flex的版本號。但我實際上需要回顧我的項目(這是在flex中開發的)vertion號碼。我該如何回顧並將其存儲在versionLable.text中..善意幫助我 –

+1

確實,您的問題頗具誤導性;特別是使用4.5作爲例子,這是最新Flex SDK的版本號。 – RIAstar

12

您可以在運行時讀你的應用程序的描述符(例如,以獲取應用程序的版本號)是這樣的:

private function getAppVersion():String { 
    var appXml:XML = NativeApplication.nativeApplication.applicationDescriptor; 
    var ns:Namespace = appXml.namespace(); 
    var appVersion:String = appXml.ns::versionNumber[0]; 
    return appVersion; 
} 

此博客mantions它: http://inflagrantedelicto.memoryspiral.com/2009/02/quick-tip-display-application-version-in-your-air-app/

+0

這僅適用於AIR。有基於瀏覽器的Flex應用程序的另一種方法嗎? –

+0

你還使用基於瀏覽器的應用程序的描述符文件嗎? – botchniaque

+0

我必須檢查,但我不這麼認爲。但上面的代碼使用本機應用程序,這是一個AIR only類。 –

相關問題