I encountered a problem with FlexBuilder 2.0.1  that stymied me for 
a few days.  The compiler was reporting "An internal build error has 
occurred.  Please check the Error Log."  The error was not attached 
to any specific line number within my code.  This was after several 
changes to my program which I judged to be cosmetic changes.   

My first problem was that I could not locate the Error Log the 
message referred to, and there was little information available on 
the web on this error.  

I had a similar problem a few days ago and got advice to re-installl 
my Flex environment.  Fearing a recurring meltdown of my Flex 
environment and wanting to avoid another re-install, I retraced 
my "cosmetic" changes and discovered the problem was using an If 
statement to skip a code block containing trace statements, 
effectively commenting out the code.    

I extracted a simple Actionscript 3.0 example that illustrates the 
problem:


package 
{
   import flash.display.Sprite;
   import flash.events.*;

   public class BuildError extends Sprite
   {
      private function netStatusHandler( event : 
NetStatusEvent ):void 
      {
         var flvVideo : Object = null;
                
         // This line is used to skip the control block based on the 
Boolean
         if (true)
         {
            // This line will print "<><> netStatusHandler: null"
            trace("<><> netStatusHandler: " +  event );
                        
            // This if statement causes the compiler problem.
            // To trigger the problem:
            //    1.  Change the previous "if (true)"  to  "if 
(false)".  This
            //        will cause the Problem window to report "An 
internal build error
            //            has occurred.  Please check the Error Log."
            //    2.  A secondary problem is that if the "if 
(flvVideo != null)" line
            //            is changed to "//  if (flvVideo != null)", 
effectively commenting out only
            //        the if statement, the internal error is 
removed, and the problem
            //        area now reports "1131: Classes must not be 
nested".
            if (flvVideo != null)
            {
               trace( "..." + flvVideo.videoWidth + "," + 
flvVideo.videoHeight );
            }
         }
      }

      public function BuildError()
      {
         netStatusHandler( null );
      }
   }
}


Needless to say, this should not generate any errors whatsoever, or 
cause a shutdown of the compilier.  Additionally, the generated 
error message should be descriptive, and the error log is to find.


Reply via email to