I am fairly new to Actionscript 3 and am hoping someone will be kind enough to point me in the right direction. I am getting the following error and am not where the problem is. This is supposed to creates a grid which I am trying to populate with one of two bitmaps copies of two different movieclips based on data that I am bringing in from an xml file. ArgumentError: Error #2015: Invalid BitmapData. at flash.display::BitmapData() at pi.ui::GridLayout() at pi.ui::TotalEmployeeVBox/addViews() at pi.ui::TotalEmployeeVBox() at ProgChart_fla::MainTimeline/onLoadXML() package pi.ui{ import flash.display.MovieClip; import flash.display.BitmapData; import flash.display.Bitmap; import flash.geom.Rectangle; import flash.geom.Point; import flash.events.Event; public class GridLayout extends MovieClip { private var nItems:uint; private var nRows:uint; private var padding:uint; private var nCreated:uint; private var tallestItem:Number; private var lastItem:Object; private var _totalEmployees:Number; private var _divEmployees:Number; private var _percent:Number; private var canvasBitmap:Bitmap; private var canvasBitmapData:BitmapData; private var canvasRectangle:Rectangle = new Rectangle(0,0,621,237); private var areaRectangle:Rectangle; private var blankFlipBoardArray:Array; private var generalFlipBoardArray:Array; private var xPos:Number; private var yPos:Number; private var currentBlitFrame:int = 0; private var buffer:Number; public function GridLayout(totalEmployees:Number, divEmployees:Number):void { _totalEmployees=totalEmployees; _divEmployees=divEmployees; _percent = Math.ceil((_divEmployees/_totalEmployees)*100); nItems=120; nRows=5; padding=3; nCreated=0; tallestItem=0; buffer = 10; xPos = 0; yPos = 0; var blankFlipBoard:BlankFlipBoard = new BlankFlipBoard(); blankFlipBoard.x = 0; blankFlipBoard.y=0; var generalFlipBoard:GeneralFlipBoard = new GeneralFlipBoard(); generalFlipBoard.x = 0; generalFlipBoard.y=0; canvasBitmap = new Bitmap(); canvasBitmapData = new BitmapData(621,237); canvasBitmapData.fillRect(canvasRectangle, 0xFFFFFF); canvasBitmap.bitmapData = canvasBitmapData; canvasBitmap.x = 0; canvasBitmap.y = 0; addChild(canvasBitmap); var generalFlipBoardBMD:BitmapData; var blankFlipBoardBMD:BitmapData; var generalFlipBoardArray = new Array(); var blankFlipBoardArray = new Array(); for(var i:int = 1; i<=blankFlipBoard.totalFrames;i++) { blankFlipBoard.gotoAndStop(i); blankFlipBoardBMD = new BitmapData(blankFlipBoard.width, blankFlipBoard.height); blankFlipBoardBMD.draw(blankFlipBoard); blankFlipBoardArray.push(blankFlipBoardBMD); } blankFlipBoard.gotoAndPlay(1); for(var j:int = 1; j<=generalFlipBoard.totalFrames;i++) { generalFlipBoard.gotoAndStop(j); generalFlipBoardBMD = new BitmapData(generalFlipBoard.width, generalFlipBoard.height); generalFlipBoardBMD.draw(generalFlipBoard); generalFlipBoardArray.push(generalFlipBoardBMD); } generalFlipBoard.gotoAndPlay(1); areaRectangle = new Rectangle(); areaRectangle.width = 23; areaRectangle.height = 45; addEventListener(Event.ENTER_FRAME, onEnterFrame); generalFlipBoard = null; blankFlipBoard = null; } function onEnterFrame(e:Event):void { canvasBitmapData.fillRect(canvasRectangle,0xFFFFFF); currentBlitFrame = currentBlitFrame+1; if(currentBlitFrame >= generalFlipBoardArray.length) { currentBlitFrame = 47; } var currentGeneralFlipBoardFrame:BitmapData = generalFlipBoardArray[currentBlitFrame]; var currentBlankFlipBoardFrame:BitmapData = blankFlipBoardArray[currentBlitFrame]; for (var i:int=0; i<nItems; i++) { var destinationPoint:Point = new Point(xPos, yPos); if (i<buffer){ canvasBitmapData.copyPixels(currentBlankFlipBoardFrame,areaRectangle, destinationPoint); } else if (i<_percent+buffer) { canvasBitmapData.copyPixels(currentGeneralFlipBoardFrame,areaRectangle, destinationPoint); } else { canvasBitmapData.copyPixels(currentBlankFlipBoardFrame,areaRectangle, destinationPoint); } //if we are not on the very first item if (nCreated!=0) { //have we reached the max col for this row if (nCreated%nRows==0) { xPos=xPos+23+padding; yPos=0; } else { xPos=xPos; yPos=yPos+45+padding; } } nCreated++; } } } } Thanks in advance! M McCoy _______________________________________________ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders