2010-03-26 15 views
6

मैं एडोब फ्लेक्स में एक सी/सी ++ # परिभाषित करने के लिए कुछ करने का तरीका ढूंढ रहा हूं।क्या एडोब फ्लेक्स में # डिफाईन करना संभव है?

मैं चाहता हूं कि एक परियोजना निर्माण कई अलग-अलग पथों को लेना चाहे जो सूखने के आधार पर या कुछ परिभाषित नहीं किया गया हो। क्या ऐसी चीज फ्लेक्स में मौजूद है?

मुझे पता है कि वैश्विक चर सेट करने के तरीके हैं लेकिन यह वास्तव में मेरे उद्देश्य के अनुरूप नहीं है। कई #ifndefined के साथ संरचनाएं करने में सक्षम होने के नाते और वास्तव में मुझे क्या जरूरत है।

धन्यवाद!

उत्तर

11

असल में एमएक्सएमएलसी (फ्लेक्स एसडीके में कंपाइलर) कुछ सीमित प्रीप्रोसेसर सुविधाओं का समर्थन करता है। आप निरंतर मानों को पारित करने के लिए या #ifdef/#ifndef प्रकार कार्यक्षमता अनुकरण करने के लिए उनका उपयोग कर सकते हैं।

Check out this documentation

उदाहरण 1:

इस कोड -define=CONFIG::debugging,true झंडा संकलक करने के लिए पारित हो जाता है, तो केवल निष्पादित हो जाता है:

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

उदाहरण 2:

बदलें का रंग बटन पर निर्भर करता है कि आपने 'CONFIG :: रिलीज़' या 'CONFIG :: डिबगिंग'

परिभाषित किया है
// 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

बहुत अच्छा। मुझे नहीं पता था कि आप ऐसा कर सकते हैं! जानकारी के लिए धन्यवाद। –

2

बस यह जानकारी यहां रखने के लिए, यदि आप चाहें तो एएस 3 के साथ सी प्री-प्रोसेसर (सीपीपी) का उपयोग करना संभव है। यदि आपको उनकी आवश्यकता है, तो यह एमएक्सएमएलसी में बनाए गए लोगों की तुलना में अधिक शक्तिशाली सुविधाएं प्रदान करता है। उदाहरण:

http://osflash.org/flex2cpp