Shane
Shane

Reputation: 5151

classes imported from conditional compilation not available

I've got some syntax in a project I'm working on that I'm not familiar with:

 CONFIG::FLASH_10_1 
 {
  import flash.net.NetStreamAppendBytesAction;
  import flash.events.DRMErrorEvent;
  import flash.events.DRMStatusEvent;
 }

with the following compiler flags

-define CONFIG::LOGGING false -define CONFIG::FLASH_10_1 true -define CONFIG::PLATFORM true -define CONFIG::MOCK false

The class references aren't working when the imports are inside that block and I'm wondering if it's an fb4 vs fb4.5 issue. If I pull them out, all the references work as expected.

Upvotes: 0

Views: 702

Answers (1)

Sam DeHaan
Sam DeHaan

Reputation: 10325

This 'peculiar syntax' is referred to as Conditional Compilation, where certain code is compiled only if the Compilation Constant provided is true.

This question shows a different syntax for defining the compilation constants, you may want to try changing that. I will test it and update this answer shortly.


After my testing, I believe that you're doing your compiler flags incorrectly--at least in FB4.5.

-define+=CONFIG::FLASH_10_1,true

or

-define CONFIG::FLASH_10_1,true

The Compilation Constant and its value should be separated by a comma, not a space. The += syntax was shown in some of the examples I saw, and appears to work, I'm not certain what the difference is between the two options.

Upvotes: 1

Related Questions