PDA

Просмотр полной версии : и снова Xml...


KidsKilla
18.08.2004, 19:18
Знач так:

function func(){
var Src = new XML();
Src.ignoreWhite = true;
var xx;
Src.onLoad = function(flag) {
xx = "что-нибуддь";
};
Src.load("some.xml");
return xx;
}

не работает, т.к. в xx ничо не успевает записацца...

Вопрос следыщий. как притормозить функцию до момента загрузки XML-файла? (ну или может обходной путь есть...)

DeliMIter
18.08.2004, 20:01
А ее не надо тормозить. Надо выполнить этот код и трейсить xx уже в блоке onLoad. Флэш работает не поточно, а событийно, он не ждет загрузки чего бы то ни было.

KidsKilla
18.08.2004, 20:05
return поставить в блок onLoad???
пробовал - не сработало... или я чето не догоняю...

DeliMIter
18.08.2004, 20:33
Не догоняешь. Твоя функция func в ЛЮБОМ случае закончит выполняться раньше, чем сработает хандлер onLoad. Тебе нужно очень хорошо разобраться, когда что происходит, поставив в соответствующие блоки трейсы а-ля trace("FUNC >> " + getTimer()) и trace("ONLOAD >> " + getTimer()). Онлоад для того и существует, чтобы в него писать код-обработчик пришедших данных, дабы они обработались как только эти данные пришли.

KidsKilla
19.08.2004, 15:52
чтож, придется обломацца с написанием этой функции))

Nox Noctis
19.08.2004, 15:58
ты точно такую же ошибку сделал когда писал xml2object.

KidsKilla
19.08.2004, 16:00
собсно это было продолжение (расширение или хз кактам еще) её же))