Приветствую
я написал класс для взаимодействия с php-скриптом, который обрабатывает запросы к mysql. запросы отправляю через URLLoader, вот обрезанный пример класса:

Код AS3:
public class SQLWrapper extends MovieClip
{
private var serverUrl:String = "http://192.168.177.128/";
private var request:URLRequest;
private var variables:URLVariables;
private var loader:URLLoader;
private var id:Number;
public var object:Object;
public static const DATA_LOADED:String = "DATA_LOADED";
public function SQLWrapper(_id:Number, _object:Object = null) {
object = _object;
id = _id;
}
private function sndRequest():void {
variables = new URLVariables();
variables.id = id;
request = new URLRequest();
request.url = serverUrl;
request.method = URLRequestMethod.GET;
request.data = variables
loader = new URLLoader();
loader.addEventListener(Event.COMPLETE, rcv_hello);
loader.load(request);
}
private function rcvResponse(e:Event = null):void {
loader.removeEventListener(Event.COMPLETE, dataLoaded);
xml = XML(loader.data);
sid = xml.children()[0].sid;
trace(sid);
dispatchEvent(new Event(SQLWrapper.DATA_LOADED));
}
}
все работает ок, но когда я создаю 2 экземпляра класса и вызываю в каждом функцию sndRequest(), запрос посылается только один, а событие лоадера COMPLETE срабатывает в каждом классе, и выводится два одинаковых sid.
вот пример создания экземпляров:

Код AS3:
public class Main
{
public function Main():void
{
var market:Market = new Market();
stage.addChild(market);
getMarketItems(market);
}
private function getMarketItems(market:Object):void {
var sql_a:SQLWrapper = new SQLWrapper(1, market);
sql_a.addEventListener(SQLWrapper.RESPONSE, marketResponse);
sql_a.sendRequest();
}
private function marketResponse(e:Event = null):void {
var market:Market = Market(e.target.object);
var item:MarketItem = new MarketItem();
market.addItem(item);
getItemStats(item);
}
private function getItemStats(item:Object):void {
var sql_b:SQLWrapper = new SQLWrapper(2, item);
sql_b.addEventListener(SQLWrapper.RESPONSE, itemResponse);
sql_b.sendRequest();
}
private function itemResponse(e:Event = null):void {
var item:MarketItem = MarketItem(e.target.xml.sid);
item.addStat(sid);
}
}
во флеше шарю хреново и не совсем понимаю почему это происходит. подскажите что не так?