2010-03-26 18 views
6

Ben adobe flex bir c/C++ #define benzer bir şey yapmak için bir yol arıyorum.Adobe Flex'te #define yapmak mümkün mü?

Bir proje yapısının bozulmaya bağlı olarak alabileceği veya tanımlanmadığı birçok farklı yola sahip olmak isterim. Esnek bir şey var mı?

Küresel değişkenleri belirleme yollarının olduğunu biliyorum ama bu benim amacımla örtüşmüyor. sayısız #ifndefined ile yapıya sahip olmak ve gerçekten ihtiyacım olan şey budur.

Teşekkürler!

cevap

11

Aslında MXMLC (Flex SDK'daki derleyici) bazı sınırlı önişlemci özelliklerini desteklemektedir. Onları sabit değerlerden geçmek ya da #ifdef/#ifndef tipi işlevselliğini simüle etmek için kullanabilirsiniz.

Check out this documentation

Örnek 1:

-define=CONFIG::debugging,true bayrak derleyici geçirilen taktirde uygulanabilecek alır Bu kod:

CONFIG::debugging { 
    // Execute debugging code here. 
} 

Örnek 2:

Değişim rengi 'CONFIG :: release' veya 'CONFIG :: hata ayıklama'

tanımladığınıza bağlı olarak
// compilers/MyButton.as 
package { 
    import mx.controls.Button; 

    CONFIG::debugging 
    public class MyButton extends Button {  
     public function MyButton() { 
      super(); 
      // Set the label text to blue. 
      setStyle("color", 0x0000FF); 
     } 
    } 

    CONFIG::release 
    public class MyButton extends Button {  
     public function MyButton() { 
      super(); 
      // Set the label text to red. 
      setStyle("color", 0xFF0000); 
     } 
    } 
} 
+0

Çok güzel. Bunu yapabileceğini bilmiyordum! Bilgi için teşekkürler. –

2

Sadece bu bilgiyi burada tutmak istiyorsanız, C Ön İşlemciyi (CPP) AS3 ile birlikte kullanmak mümkündür. İhtiyaç duyarsanız, MXMLC'ye yerleşik olanlardan daha güçlü özellikler sağlar. Örnek:

http://osflash.org/flex2cpp