Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Переменные пропали (http://www.flasher.ru/forum/showthread.php?t=76964)

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

Вложений: 1
Где то еще напортачил. :)

Killer@ 15.03.2006 23:49

Цитата:

Сообщение от Antares
А что нам говорит трейс?

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

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

Цитата:

Сообщение от aksyos
Где то еще напортачил. :)

Наверное...
Твой файл я прочесть не могу. Не открывает. Вероятно версия у тебя > моей (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
А мне -- удается. Трейсер для браузера ставишь -- и все.
Выведи в текстовое поле, если не знаешь, где его взять.

Не знаю. Скажи :)

Antares 16.03.2006 22:36

Выложил на NR

Буньков Максим 19.03.2006 21:57

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

Killer@ 20.03.2006 22:16

Цитата:

Сообщение от Antares

Спасибо, иногда помогает. Хотя когда надо не помогает. Зато аську видит классно :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

Цитата:

Сообщение от Antares

Большое человеческое спасибо :) есть такие штуки о которых просто не догадываешься.


Часовой пояс GMT +4, время: 09:57.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.