# Problem with for each loop and Url Loaders

**URL:** <https://forum.kirupa.com/t/problem-with-for-each-loop-and-url-loaders/290391>\
**Category:** flash\
**Created:** [June 13, 2009, 9:46pm UTC](https://forum.kirupa.com/t/problem-with-for-each-loop-and-url-loaders/290391 "2009-06-13T21:46:16Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dardein](https://avatars.discourse-cdn.com/v4/letter/d/e95f7d/32.png) [@Dardein](https://forum.kirupa.com/u/Dardein)\
**Post date:** [June 13, 2009, 9:46pm UTC](https://forum.kirupa.com/t/problem-with-for-each-loop-and-url-loaders/290391/1 "2009-06-13T21:46:16Z")

</div>

Hello all 🙂

I have a problem with loading profiles (users) into my stage. I want to first compare the profile I want to load in to the users allready on the stage, and if the user I want to load in have 2 or more interests in commen with the other, I want to load the profile in at the coordinats of the other and “paint” it the same color. The problem is that the first time I load a user in (when there are others loaded in) the variables lignendebruger and sammeinteresser is not set before the profilebox is loaded in to the stage. But when I remove and load the same user in again it works… Have tried to solve this problem for a very long time 🙂 and any help at all would be much apreciated. Hope you can get some kind of meaning out of the code, even though I have not uploaded all of it.

-Dardein

var urlLoaderInterest1:URLLoader = new URLLoader();  
urlLoaderInterest1.addEventListener(Event.COMPLETE, gembrugerxml);  
urlLoaderInterest1.addEventListener(IOErrorEvent.IO\_ERROR, onIOError);

var urlLoaderInterest2:URLLoader = new URLLoader();  
urlLoaderInterest2.addEventListener(Event.COMPLETE, sammenligning);  
urlLoaderInterest2.addEventListener(IOErrorEvent.IO\_ERROR, onIOError);

```
var bruger:XMLList;				

var lignendebruger:Number = 0;

var sammeinteresser:int = 0;

```

function nyProfilBox(n:Number){  
// sets variables to som stardard  
var farve:Number = Math.round( Math.random()\*0xFFFFFF );  
var CX:Number = randomBetween(0, 800);  
var CY:Number = randomBetween(0, 600);

```
	// this gets the interest of the user I want to load in
	var req1:URLRequest = new URLRequest("http://mywebserver.com?id"+n);
		req1.method = URLRequestMethod.GET;
		urlLoaderInterest1.load(req1);
	
	// this iterates throuh all the users curently on the stage and compares the interest of the user I want to load with the other users on the stage.
	for each(var user1:Number in bordListe1) {
		req2 = new URLRequest("http://mywebserver.com?id"+user1);
		req2.method = URLRequestMethod.GET;
		urlLoaderInterest2.load(req1);
	}
	// if the user has more than one interest in commen with another, I set the color of the new user to the one of the other
	if(sammeinteresser &gt; 1){
		if(bordListe1.indexOf(lignendebruger) != -1){
			var	a:Profile_box_bordet = (Profile_box_bordet)(getChildByName("P"+(Number)(lignendebruger)));
			farve = å.myColor;
			CX =a.container.x;
			CY =a.container.y;
		}
	}
	// make a new profile using the stardards or the same as one other profile curently on the stage
	var profile_mc:Profile_box_bordet = new Profile_box_bordet();
	profile_mc.myColor = farve;
	profile_mc.cX = CX;
	profile_mc.cY = CY;
	profile_mc.uID = n;
	profile_mc.name = "P"+n;
	addChild(profile_mc);
	bordListe1.push(n);
	lignendebruger = 0;
	sammeinteresser = 0;
}	

```

function sammenligning(e:Event) {  
var gem:XML = (XML)(e.target.data);  
var brugerallerede:XMLList = XMLList(gem.user.interests.children());  
var antal:int = 0;  
for each(var u:XML in bruger) {  
if (brugerallerede.contains(u)) {  
antal = antal +1;  
}  
}

```
	if(antal &gt; sammeinteresser) {
		sammeinteresser = antal;
		lignendebruger = (Number)(gem.user.uid.text());
	}

```

}

function gembrugerxml(e:Event) {  
var gem:XML = (XML)(e.target.data);  
bruger = XMLList(gem.user.interests.children())  
}

function randomBetween(a:Number, b:Number):Number {  
return (a + Math.floor(Math.random()\*(b-a+1)));  
}
