Объясните, пожалуйста, что я не так делаю:

Код:
function resizeIm() {
sd = _root.sfoto1._width;
dd = _root.sfoto1._height;
trace(sd);
trace(dd);
}
startShow = function () {
dir = "data/1/";
butPress();
b1._visible = 0;
b2._visible = 1;
razd = 1;
resizeIm();
};
Возвращает значения 0, 0 . Если:

Код:
b2.onRelease = function() {
num++;
var im_num = dir+num+".jpg";
var ml = new MovieClipLoader();
ml.addListener(l={});
ml.loadClip(im_num, _root.sfoto1);
resizeIm();
};
возвращает значения реальные. В чем проблема? функция и там и тут вызвана, почему в первом случае она не видит подгруженного jpg?
И второй случай -

Код:
r2.onRelease = function() {
if (razd == 2) {
null;
} else {
dir = "data/2/";
butPress();
b1._visible = 0;
b2._visible = 1;
razd = 2;
checkLoad();
resizeIm();
}
};
- все работает

Код:
function abc (sss) {
if (razd == sss) {
null;
} else {
dir = "data/"+sss+"/";
butPress();
b1._visible = 0;
b2._visible = 1;
razd = sss;
checkLoad();
resizeIm();
}
};
r2.onRelease = abc (2)
- не работает...
Что здесь не так?