Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Flash & {MDM} Zinc, не катит запуск... (http://www.flasher.ru/forum/showthread.php?t=97094)

_bioscorpio_ 13.06.2007 21:41

Flash & {MDM} Zinc, не катит запуск...
 
Сталкнулся с такой проблемой, ни как не могу открыть приложение. В чем дело так и не могу понять. XML грузиться в Zinc, а вот запускать внешнии файлы не хочет...

Код:

<?xml version="1.0" encoding="utf-8"?>
<strings>
        <list label="Выберите тематику">
        </list>
        <list label="Общая психология">
                <item label="Название документа_1_1" url="Общая психология\\1 (1).doc"/>
        </list>
        ...
        ...
        ...
        <list label="Диагностика">
                <item label="Название документа_7_1" url="Диагностика\\1 (7).doc"/>
        </list>
</strings>

вот код запуска того перечня что идет в XML

Код:

var listListener = {};
listListener.change = function(event) {
        mdm.System.exec(mdm.Application.path+event.target.selectedItem.data.attributes['url']);
};
items_lst.addEventListener('change', listListener);
list_cmb.addEventListener('change', comboboxListener);
listXML.load(mdm.Application.path+"db file.xml");

И чет он ни в какую не хочет запускать мне *.doc, *.exe, *.mp3...

Может вы подскажете новечку чего и как? А то я уже голову ломаю 3-й день с этим, ни как не могу догнать в чем дело...

alexcon314 13.06.2007 23:19

Как у тебя xml привязывается к компоненту List? Ты ведь его используешь? Тут дело не в цинке, а в том что у тебя неверно происходит обращение к элементам списка. (Как все-таки он у тбя заполняется?)
должно быть примерно так (на коленке собрал пример):
Код:

<?xml version="1.0" encoding="utf-8"?>
<strings>
 <item label="Название документа_1_1" url="Общая психология\1 (1).doc"/>
</strings>

Код:

var listXML:XML = new XML();
listXML.load(mdm.Application.path+"db file.xml");
listXML.ignoreWhite = true;
listXML.onLoad = function(s:Boolean) {
        fillList();
};
function fillList() {
// здесь надо заполнять items_lst, собственно, итемами.
        items_lst.addItem({label:listXML.firstChild.firstChild.attributes.label, url:listXML.firstChild.firstChild.attributes.url});
}
var listListener:Object = new Object();
listListener.change = function(eventObject:Object) {
// а здесь обращаемся к свойству url выделенного в items_lst итема
        mdm.System.exec(mdm.Application.path+eventObject.target.selectedItem.url);
        };
items_lst.addEventListener('change', listListener);

попробуй.. все работает
P.S.использование пробелов и русских букв в путях и названиях файлов не есть хорошая практика, хотя к этому примеру это не относится

_bioscorpio_ 14.06.2007 15:46

Вот полный мой код в Flash

Код:

var listXML = new XML();
listXML.ignoreWhite = true;
listXML.load(mdm.Application.path+"db file.xml");
listXML.onLoad = function(success) {
        if (!this.loaded || this.status) {
                Alert.buttonHeight = 25;
                Alert.buttonWidth = 55;
                Alert.okLabel = "ВЫХОД";
                var Click = function (evt_obj:Object) {
                        if (evt_obj.detail == Alert.OK) {
                                fscommand("quit", "");
                                mdm.Application.exit();
                        }
                };
                Alert.show("Утерян или не найден файл: db file.xml", "Ошибка!", Alert.OK, null, Click);
                return;
        }
        list_cmb._visible = true;
        items_lst._visible = true;
        var nodes = this.firstChild.childNodes;
        var nodesLength = nodes.length;
        for (var i = 0; i<nodesLength; i++) {
                var node = nodes[i];
                list_cmb.addItem(node.attributes['label'], node.childNodes);
        }
};
var comboboxListener = {};
comboboxListener.change = function(event) {
        var nodes = event.target.selectedItem.data;
        var nodesLength = nodes.length;
        this.items_lst.removeAll();
        for (var i = 0; i<nodesLength; i++) {
                var node = nodes[i];
                this.items_lst.addItem(node.attributes['label'], node);
        }
};
comboboxListener.items_lst = items_lst;
var listListener = {};
listListener.change = function(event) {
        mdm.System.exec(mdm.Application.path+event.target.selectedItem.data.attributes['url']);
};
items_lst.addEventListener('change', listListener);
list_cmb.addEventListener('change', comboboxListener);

полный код XML

Код:

<?xml version="1.0" encoding="utf-8"?>
<strings>
        <list label="Выберите интересующую вас тему">
        </list>
        <list label="Общая психология">
                <item label="Название документа_1_1" url="Общая психология\1 (1).doc"/>
        </list>
        <list label="Возрастная психология">
                <item label="Название документа_2_1" url="Возрастная психология\1 (2).doc"/>
        </list>
        <list label="Консультирование">
                <item label="Название документа_3_1" url="Консультирование\1 (3).doc"/>
        </list>
        <list label="Социальная психология">
                <item label="Название документа_4_1" url="Социальная психология\1 (4).doc"/>
        </list>
        <list label="Психология семьи">
                <item label="Название документа_5_1" url="Психология семьи\1 (5).doc"/>
        </list>
        <list label="Психокоррекция">
                <item label="Название документа_6_1" url="Психокоррекция\1 (6).doc"/>
        </list>
        <list label="Диагностика">
                <item label="Название документа_7_1" url="Диагностика\1 (7).doc"/>
        </list>
</strings>

Как сказал alexcon314 у меня возможно не соответствие путей в коде реальным путям к файлам на диске, но! я посмотрел что и как, и мне кажется что все у меня верно. Вот древо как у меня все находится в папке

Общая психология\1 (1).doc
Возрастная психология\1 (2).doc
Консультирование\1 (3).doc
Социальная психология\1 (4).doc
Психология семьи\1 (5).doc
Психокоррекция\1 (6).doc
Диагностика\1 (7).doc
db file.xml
Run.exe

Почему из всего у меня грузится только Консультирование\1 (3).doc ? :( :confused:

_bioscorpio_ 14.06.2007 17:20

Вопрос закрыт, я был невнимателен 0=)


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

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