賴勇浩( )譯
我初接觸的時候,還以為 flex 3 不支援條件編譯,後來找了好些文件來看,也沒有看明白,直到找到這篇文章的 livedocs 文件才明白原來是這麼回事。好文件嘛,就想譯出來給大家看看咯,雖然一如既往地半生熟地譯法,看在我的熱情上,大家就少罵哈……
在編譯應用時傳遞常量給mxmlc編譯器就能夠使用條件編譯——在構建時包含或排除的某些**塊。
最常見的是通過乙個布林值來包含或排除一段除錯或檢測**。
如下面的例子就是一段使用內建布林常量實現條件化的**:
config::debugging
這樣就能夠使用compiler.define使用define 選項,可以為常量定義乙個命名空間,相應的變數名和數值使用下面的語法:編譯選項了。
常量可以是乙個布林、字串、或數值、或表示式(在編譯時對 actionscript 求值)。
這種常量可以在應用的源**中作為乙個全域性常量訪問。
-define = namespace::variable_name
,value
命名空間可以任意配置。下面的例子在config名字空間裡定義了常量debugging ,它的值為true :
-define=config::debugging,true
在命令列設定多個常量的值,可以多次使用 define 選項;例如:
也可以在 flex-config.xml 檔案中設定這些常量,而不是在命令列,下面是例子說明:
config::debugging
true
config::release
false
flex ant 任務中,也可以用乙個define元素來定義常量,如下:
使用內建常量可以 actionscript **中使用內建常量。
布林值可以用來條件化頂層函式定義、類和變數,與 c/c++ 上使用#ifdef 預處理指令的方式大致相同,
但不能使用布林常量條件化元資料或import 語句。
下面是條件化類的定義,在編譯器編譯應用程式時決定使用哪個類定義:
// compilers/mybutton.aspackage
}config::release
public class mybutton extends button }}
也可以傳遞字串和數值到應用中去,把它們當作內建常量來使用,就像在 c/c++ 中使用#define巨集指令一樣。
例如,傳遞乙個名為names::company
的值,能夠替代如下的 actionscript 語句來定義常量:
private static const companyname:string = names::company;可以傳遞表示式,它將在編譯時求值。
下面的例子計算為false :
-define+=config::myconst,"1 > 2"
下面的例子值為3 :
-define+=config::myconst,"4 - 1"
表示式可包含常量和其他設定值,例如:
-define+=config::bool2,false -define+=config::and1,"config::bool2 && false"
一般來說,應該為常數加上雙引號,以確保mxmlc編譯器正確地將它們作為乙個單獨的引數。當傳遞字串,您必須使用雙引號,編譯器才能夠正確地處理它們。
在命令列定義字串,則必須使用用雙引號,對於原來就需要的雙引號,需要轉義(」/」adobe systems/」" 或 「/』adobe systems/』」)或改用單引號(」『adobe systems』」) 。
下面的例子是在命令列傳遞字串兩種方法:
-define+=names::company,"'adobe systems'" -define+=names::ticker,"/"adbe/""
定義配置檔案中的字串,你也需要使用單或雙引號,例如:
names::company
'adobe systems'
names::ticker
"adbe"
命令列中傳遞空字串,使用雙引號包圍的單引號,如下:
-define+=config::debugging,"''"
在配置檔案傳遞空字串,用雙引號(「」)或單引號('')即可 。
在AS3中使用嵌入字型
在flash中,我們常會遇到需要嵌入字型的情況,在以往的flash版本中,嵌入字型相信是大家已經耳熟能詳的事情了,這裡我要寫的是在as3中如何嵌入字型,以及在as3中嵌入字型所要注意的一些問題。首先我們先製作乙個嵌入字型資源檔案,先新建乙個fla,開啟庫,在庫中新建乙個字型,選擇你想要嵌入的字型,我...
在sdk中使用進度條
include windows.h include commctrl.h initcommoncontrols pragma comment lib,comctl32 initcommoncontrols 過程函式的返回值都是lresult,型別都是callback lresult callback...
在CScrollView中使用滾動條
近日需要在mfc中的mdi中使用帶滾動條的檢視。找了許久發現其實很簡單 1 用基類 cscrollview 生成新檢視 cnewview 2 修改mfc自動生的 cnewview oninitialupdate 原內容為 void cnewview oninitialupdate cscrollvi...