Форум 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=112708)

rmzvoid 05.06.2008 19:37

Как юзать Алерт в подключаемых скриптах?
 
Есть класс, который описан в отдельном файле .as, допустим SomeClass. В этом файле у меня есть вызов Alert.show. import для алерта есть в заголовке файла. В самом мувике я создаю переменную класса SomeClass. Когда доходит очередь до вызова алерта, в аутпут пишется вот это - Failed to create a new alert, probably because there is no Alert in the Library. Я понимаю что тут написано, но вопрос в другом, как мне запихнуть в этот скрипт - SomeClass.as библиотеку с этим алертом. Пробовал вынести этот класс в главный мувик, но мне написали что класс в корневом мувике нельзя объявлять. Что посоветуете бывалые? Я только неделю занимаюсь им, сильно не пинайте и сильно умно не пишите :)

silin 05.06.2008 21:26

имеется ввиду, что компонент Alert должен быть в библиотеке,
просто перетащи его из панельки компонентов в панель библиотеки и все

rmzvoid 06.06.2008 05:05

простите, но панелька библиотеки недоступна когда я редактирую .as файл. редактор flash mx 2004

iNils 06.06.2008 05:44

Цитата:

Сообщение от rmzvoid (Сообщение 743925)
как мне запихнуть в этот скрипт - SomeClass.as библиотеку с этим алертом.

В библиотеку нужно только алерт помещать. И так для каждого fla, где используете этот класс.
В хелпе нашел статью, и если я правильно понял, то метатег [ComponentTask] запускает jsfl сценарий, в котором можно указать, какой компонент добавить в библиотеку автоматически. Я не пробывал, поэтому не могу сказать, так ли это.

rmzvoid 06.06.2008 10:23

это не то, там джава скрипт нужен

вобщем что я имею:
есть fla файл
есть несколько as файлов
в одном из as файлов используется Alert
все файлы заинклюдены в основном fla файле
библиотека этого fla файла содержит компонент Alert
алерт не хочет создаваться, потому что его нет в библиотеки

вопрос в какой библиотеке он должен быть?

листинг Connection.as

Код:

import mx.controls.Alert;

class Connection
{
        var Socket:XMLSocket;
        var State:String;
       
        function Connection(_Host:String, _Port:Number)
        {
                Socket = new XMLSocket;
                Socket.onConnect = function(success)
                {
                        if (!success)
                                Alert.show("Network error","Error");
                }

                Socket.onXML = function(RecievedXML)
                {
                        trace(RecievedXML);
                }

                Socket.connect(_Host, _Port);
        }
       
        function Send(SendingXML:XML)
        {
                Socket.send(SendingXML);
        }
}

листинг обработчика нажатия кнопки в файле fla:

Код:

import Connection;

on(click)
{
        var LoginData = new LoginPacket(LoginAccount,LoginPassword);
        Socket = new Connection("127.0.0.1", 1981);
        Socket.Send(LoginData.GetXML());
       
}

когда демон принимающий подключения не запущен, должен вылезть алерт, но выпадает только ошибка, написанная в первом посте, в трейс.

silin 06.06.2008 11:23

не удалось воспроизвести трабл, показывает алерт
единственно что поменял в твоем примере Socket.onConnect создаю делегатом, с анонимной функцией он почему-то вообще не вызывается, но дело, видимо, не в этом, раз у тебя ошибка вылетает

rmzvoid 06.06.2008 11:39

сделал новый документ - вставил туда выше написанное - работает... чертовщина какаято

хмм, решил кинуть на мувик еще раз компонент алерт - попросил "использовать имеющийся уже или заменить имеющийся новым" - выбираю заменить. Запускаю тест- показывает алерт. неладно в датском королевстве.

ладно проблема решена, всем спасибо за содействие!

silin 06.06.2008 11:45

это как бы цветочки
глянь какие у людей случаются заморочки с этими fla

iNils 06.06.2008 15:28

rmzvoid, надо использовать кнопку http://www.flasher.ru/forum/images/r...ttons/edit.gif, а не создавать несколько сообщений подряд.


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

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