# Scrollpane / Oop Bug?

**URL:** <https://forum.kirupa.com/t/scrollpane-oop-bug/64567>\
**Category:** Uncategorized\
**Created:** [September 17, 2004, 2:32pm UTC](https://forum.kirupa.com/t/scrollpane-oop-bug/64567 "2004-09-17T14:32:31Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![antoine\_v](https://avatars.discourse-cdn.com/v4/letter/a/ea666f/32.png) [@antoine\_v](https://forum.kirupa.com/u/antoine_v)\
**Post date:** [September 17, 2004, 2:32pm UTC](https://forum.kirupa.com/t/scrollpane-oop-bug/64567/1 "2004-09-17T14:32:31Z")

</div>

[font=Arial]ScrollPane bug ?[/font]

[font=Arial]Context : [/font]  
[font=Arial]I create a scrollPane and populate it dynamically with components. It works.[/font]  
[font=Arial](see attached file)[/font]  
[font=Arial] **Issue 1 :** use of refreshPane : [/font][font=Arial]if I call myScrollPane.refreshPane(), it does not work anymore. Any idea why ?[/font]  
[font=Arial] **Issue 2 :** delete /create[/font]  
[font=Arial]If I click on delete button to delete the on create button to re-create it, it works.[/font]  
[font=Arial]If I click on “deleteAndCreate” button it does not work (see attached file)[/font]

[font=Arial]Any idea ?[/font]

[font=Arial]The FLA is a form application with one form under application called "GQuestionContainer ". It is linked to the class below. I cannot upload the FLA because it is too big but of course I can send it to anyone willing to help me.[/font]

[font=Arial]Thanks in advance.[/font]  
[font=Arial]Antoine[/font]

[font=Arial]import mx.containers.ScrollPane;[/font]  
[font=Arial]import mx.controls.Button;[/font]  
[font=Arial]import mx.controls.Alert;[/font]  
[font=Arial]class GQuestionContainer extends mx.screens.Form{[/font]  
[font=Arial]var questions:Array;[/font]

[font=Arial]var questionCounter:Number;[/font]  
[font=Arial]//var myScrollPane:mx.containers.ScrollPane;[/font]  
[font=Arial]var myScrollPane:Object;[/font]  
[font=Arial]var splv:Number;[/font]  
[font=Arial]var baseX:Number;[/font]  
[font=Arial]var baseY:Number;[/font]  
[font=Arial]var cursorY:Number;[/font]  
[font=Arial]var buttonCreateListen:Object;[/font]  
[font=Arial]var buttonCreate:Button;[/font]  
[font=Arial]var buttonDeleteListen:Object;[/font]  
[font=Arial]var buttonDelete:Button;[/font]  
[font=Arial]var buttonDeleteAndCreateListen:Object;[/font]  
[font=Arial]var buttonDeleteAndCreate:Button;[/font]

[font=Arial]function GQuestionContainer(){[/font]  
[font=Arial]trace(“hello GQuestionContainer constructor”);[/font]  
[font=Arial]}[/font]  
[font=Arial]function onLoad(){[/font]  
[font=Arial]baseX=0;[/font]  
[font=Arial]baseY = 20;[/font]  
[font=Arial]cursorY=0;[/font]  
[font=Arial]questionCounter=0;[/font]  
[font=Arial]this.questions = new Array();[/font]  
[font=Arial]buttonCreateListen=new Object;[/font]  
[font=Arial]buttonCreate.addEventListener(“click”, buttonCreateListen);[/font]  
[font=Arial]buttonCreateListen.click = function(objEvnt){[/font]  
[font=Arial]objEvnt.target.\_parent.createScrollPane();[/font]  
[font=Arial]}[/font]  
[font=Arial]buttonDeleteListen=new Object;[/font]  
[font=Arial]buttonDelete.addEventListener(“click”, buttonDeleteListen);[/font]  
[font=Arial]buttonDeleteListen.click = function(objEvnt){[/font]  
[font=Arial]objEvnt.target.\_parent.deleteScrollPane();[/font]  
[font=Arial]}[/font]  
[font=Arial]buttonDeleteAndCreateListen=new Object;[/font]  
[font=Arial]buttonDeleteAndCreate.addEventListener(“click”, buttonDeleteAndCreateListen);[/font]  
[font=Arial]buttonDeleteAndCreateListen.click = function(objEvnt){[/font]  
[font=Arial]objEvnt.target.\_parent.deleteAndCreate();[/font]  
[font=Arial]}[/font]  
[font=Arial]//setUpScrollPane();[/font]  
[font=Arial]//buildForm(10);[/font]  
[font=Arial]createScrollPane();[/font]

[font=Arial]splv=50;[/font]  
[font=Arial]}[/font]  
[font=Arial]function processClick(objEvnt){[/font]  
[font=Arial]trace(“buttonclicked”);[/font]  
[font=Arial]trace(this)[/font]  
[font=Arial]objEvnt.target.\_parent.deleteScrollPane();[/font]  
[font=Arial][//objEvnt.target](https://objEvnt.target).\_parent.resetPane(20);[/font]  
[font=Arial]}[/font]  
[font=Arial]function deleteScrollPane(){[/font]  
[font=Arial]trace(“destroyScrollPane called”);[/font]  
[font=Arial]splv = myScrollPane.getDepth();[/font]  
[font=Arial]trace("myScrollPane level is : "+splv);[/font]  
[font=Arial]this.cursorY=0;[/font]  
[font=Arial]this.myScrollPane.refreshPane();[/font]  
[font=Arial]myScrollPane.content.removeMovieClip();[/font]  
[font=Arial]this.destroyObject(“myScrollPane”);[/font]  
[font=Arial]myScrollPane=null;[/font]

[font=Arial]}[/font]

[font=Arial]function createScrollPane(){[/font]  
[font=Arial]trace(“resetPane called”);[/font]  
[font=Arial]var howMany = 20;[/font]  
[font=Arial]this.myScrollPane = createClassObject(mx.containers.ScrollPane, “myScrollPane”, splv);[/font]  
[font=Arial]setUpScrollPane();[/font]  
[font=Arial]buildForm(howMany);[/font]  
[font=Arial]this.myScrollPane.invalidate();[/font]  
[font=Arial]this.myScrollPane.vPosition =this.myScrollPane.content.\_height;[/font]

[font=Arial][//this.myScrollPane.refreshPane](https://this.myScrollPane.refreshPane)();[/font]  
[font=Arial][//this.myScrollPane.onComplete](https://this.myScrollPane.onComplete)();[/font]  
[font=Arial][//this.myScrollPane.invalidate](https://this.myScrollPane.invalidate)();[/font]

[font=Arial]}[/font]  
[font=Arial]function deleteAndCreate(){[/font]  
[font=Arial]deleteScrollPane();[/font]  
[font=Arial]createScrollPane();[/font]  
[font=Arial]}[/font]  
[font=Arial]//the scrollPane creation[/font]  
[font=Arial][//this.myScrollPane](https://this.myScrollPane) = createClassObject(mx.containers.ScrollPane, “myScrollPane”, this.myTransitionMask.getDepth()-1);[/font]  
[font=Arial]function setUpScrollPane(){[/font]  
[font=Arial][//this.myScrollPane.setStyle](https://this.myScrollPane.setStyle)(“borderStyle”, “none”);[/font]  
[font=Arial]this.myScrollPane.hScrollPolicy=“off”;[/font]  
[font=Arial]this.myScrollPane.setSize(790, 340);[/font]  
[font=Arial]this.myScrollPane.move(0, 155);[/font]  
[font=Arial]this.myScrollPane.contentPath=“ScrollPaneMovieClip”;[/font]  
[font=Arial]this.myScrollPane.tabChildren=true;[/font]  
[font=Arial]this.myScrollPane.tabEnabled =false;[/font]  
[font=Arial]}[/font]

[font=Arial]function addActiveElem(elementType:String){[/font]  
[font=Arial]var theLevel= \_level0.application.getNextLevel();[/font]  
[font=Arial]var questionCounter = this.questions.length+1;[/font]  
[font=Arial]this.questions[questionCounter] = myScrollPane.content.attachMovie([/font]  
[font=Arial]elementType,[/font]  
[font=Arial]“ihmElem”+theLevel,[/font]  
[font=Arial]theLevel);[/font]

[font=Arial]//trace(“this.questions[”+questionCounter+"] = "+this.questions[questionCounter]);[/font]  
[font=Arial]this.positionIt(questionCounter);[/font]

[font=Arial]}[/font]  
[font=Arial]function positionIt(elementID:Number){[/font]  
[font=Arial]var x = this.baseX;[/font]  
[font=Arial]var y = this.cursorY+this.baseY;[/font]  
[font=Arial]this.questions[elementID].move(x,y);[/font]  
[font=Arial]//trace(“positionIt : “+elementID+” at “+x+”,”+y);[/font]  
[font=Arial]this.cursorY+=30;[/font]  
[font=Arial]}[/font]

[font=Arial]function buildForm(howMany:Number){[/font]  
[font=Arial]for(var i=0;i\<howMany;i++){[/font]  
[font=Arial]addActiveElem(“comboBox”);[/font]  
[font=Arial]}[/font]

[font=Arial]}[/font]  
[font=Arial]}[/font]
