PDA

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


Killer@
15.03.2006, 21:20
Переменная user во Флэше не видна (undefined), почему???
Что я не так делаю?

<br>
<div align="center">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="640" height="640">
<param name="movie" value="testing/test14.swf">
<param name="quality" value="high">
<param name="flashvars" value="user=anonim&enter_code=enter_code">
<embed src="testing/test14.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="640" height="640"></embed>
</object>
</div>

И вообще странно, то видит, то не видит, то половину... Я уже фигею от него. Причём явно зависит от браузера и от компа. (Идёт только у меня на компе + explorer. На остальных undefined в разной степени :mad: )

Буньков Максим
15.03.2006, 21:55
Тег Object читается на ядре IE тег Embed читается на ядре нетскейпа и мозилы...
может в этом косяк? и можно навсякий случай стартовую функцию запихать в событие роота onLoad.

Killer@
15.03.2006, 22:31
Тег Object читается на ядре IE тег Embed читается на ядре нетскейпа и мозилы...
может в этом косяк? и можно навсякий случай стартовую функцию запихать в событие роота onLoad.

Сделал вот так:
...
stop();
Stage.showMenu = false;
Stage.align = "T";
Stage.scaleMode = "noScale";
System.useCodepage = true;
_root.onLoad = function() {
if (user == undefined) {
...
}
}
...
Теперь он туда вообще не заходит. :confused:

Antares
15.03.2006, 22:35
if (user == undefined)
...
теперь он туда вообще не заходит


А что нам говорит трейс?

Буньков Максим
15.03.2006, 22:45
и вабще давай исходник.

aksios
15.03.2006, 23:08
Где то еще напортачил. :)

Killer@
15.03.2006, 23:49
А что нам говорит трейс?
С удовольствием бы послушал, что он говорит, но неполучиться т.к. user может передаться (должен передаться) через HTML-ку. Такое сэмулировать у меня по крайней мере не удаёться...
Если эту переменную просто как текст распечатать, то так и говорит, что она = undefined.

P.S. Поздровляю с 3333-им сообщением :D

Где то еще напортачил. :)
Наверное...
Твой файл я прочесть не могу. Не открывает. Вероятно версия у тебя > моей (MX 2004)

и вабще давай исходник.
Зачем? Дальше данного кода всё-равно безсмысленно ошибку искать, а до него только определение констант и загрузчик.
Впрочем код загрузчика вот, вридли он чем-то может повлиять на user. Тем более не некоторого времени эта флэшька спокойно работала... Я вроди ничего не изменял и вот тебе на...

Загрузчик (навешано на ProgressBar):
onClipEvent (load) {
with (_root.pbLoadStatus) {
minimum = 0;
minimum = 100;
_xscale = 100;
_yscale = 100;
mode = "manual";
setProgress(0, 100);
}
fullsize = _root.getBytesTotal();
}
onClipEvent (enterFrame) {
nowsize = _root.getBytesLoaded();
_root.pbLoadStatus.setProgress(Math.floor(nowsize/fullsize*100), 100);
if (nowsize == fullsize) {
_root.gotoAndStop(2);
}
}

Загрузчик (навешано на кадр):
stop();

Буньков Максим
16.03.2006, 07:52
По идеи когда переменку передаешь флешке через Flashvars, то они во влешке должны появиться быстрее всего до полной загрузки мувика, так как эти переменки передются, ну можно сказать сразу же синхронно с объектом.
По твоему коду можно выяснить, что он должен работать только в IE и ему подобных... но ни как не в старой версии Opera и темболее в FOX`e и Netscape.
Выясни точно... в IE открывается всегда или тоже то да то нет? именно в IE.

Antares
16.03.2006, 08:55
С удовольствием бы послушал, что он говорит, но неполучиться т.к. user может передаться (должен передаться) через HTML-ку. Такое сэмулировать у меня по крайней мере не удаёться...

А мне -- удается. Трейсер для браузера ставишь -- и все.

Выведи в текстовое поле, если не знаешь, где его взять.

Antares
16.03.2006, 08:56
По идеи когда переменку передаешь флешке через Flashvars, то они во влешке должны появиться быстрее всего до полной загрузки мувика, так как эти переменки передются, ну можно сказать сразу же синхронно с объектом.
По твоему коду можно выяснить, что он должен работать только в IE и ему подобных... но ни как не в старой версии Opera и темболее в FOX`e и Netscape.
Выясни точно... в IE открывается всегда или тоже то да то нет? именно в IE.
Максим, вы курите прямо вот так, с утра пораньше?

Killer@
16.03.2006, 20:04
А мне -- удается. Трейсер для браузера ставишь -- и все.
Выведи в текстовое поле, если не знаешь, где его взять.
Не знаю. Скажи :)

Antares
16.03.2006, 22:36
Выложил (http://www.novemberain.com/arch/Install-F7Trace.zip) на NR

Буньков Максим
19.03.2006, 21:57
Выкладываю пример aksyos, как просил конвертнул тебе в 7 версию, если уж ща не откроется то хз. старее нету.
И как будет работать расскажи.

Killer@
20.03.2006, 22:16
Выложил (http://www.novemberain.com/arch/Install-F7Trace.zip) на NR
Спасибо, иногда помогает. Хотя когда надо не помогает. Зато аську видит классно :D

Выкладываю пример aksyos, как просил конвертнул тебе в 7 версию, если уж ща не откроется то хз. старее нету.
И как будет работать расскажи.
Спасибо, работает. Во всяком случае передача переменных в IE. В Опере не работает ни на каком компе.
Из-за этого всего до меня дошло, что там была не одна, как мне по началу казалось, а как минимум две ошибки. Первая по передача параметров слава богу решилась. А вот вторая:
У меня во Флешке используеться XML, так вот он не всегда загружаеться верно. Иногда (50 на 50) он видимо не успеывает загрузиться до того, как его начнут использовать. Код разбора такой:

if (user == undefined) {
tree.addTreeNode("Ошибка определения пользователя!");
trace('user='+user);
trace('enter_code='+enter_code);
bSelect.enabled = false;
bReset.enabled = false;
bDone.enabled = false;
bDelete.enabled = false;
} else {
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.load(SITE_PREFIX+"getthemes.php?access="+enter_code);
xml.onLoad = function() {
trace('xml='+xml);
if (xml.loaded) {
go();
} else {
//Это я уже измывался, можно не обращать внимания
if (xml.status == 0) {
tree.addTreeNode('xml.status = 0');
var t:Number;
while (not xml.loaded) {
t = getTimer();
while (t+500>getTimer()) {
t = t;
}
tree.addTreeNode(xml);
trace(xml);
}
go();
} else {
//До сюда измывался
tree.addTreeNode("Ошибка: "+xml.status);
bSelect.enabled = false;
bReset.enabled = false;
bDone.enabled = false;
bDelete.enabled = false;
}
}
};
}

Ошибка в xml.status при этом равна "0", а это, в принципе, признак отсутствия ошибки, но данных нету, xml пуст. При перезагрузке браузера значение в xml появляеться или наоборот исчезает, мистика короче...
Что подскажите?

aksios
21.03.2006, 11:04
Выложил (http://www.novemberain.com/arch/Install-F7Trace.zip) на NR
Большое человеческое спасибо :) есть такие штуки о которых просто не догадываешься.