Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flash Приложения: AIR, Zinc и тд.

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.06.2008, 15:48
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 1  
Ответить с цитированием
chingachgoog
Banned
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
По умолчанию mdm.System.exec() и флеш-проектор-8

Как известно 8-й ФП в составе проектора (exe) имел один неприятный глюк - если путь расположения этого exe имел в своем составе русские буквы - то невозможно было что-то подгрузить в такой проектор.
Также известен был и частичный путь решения проблемы - добавление вперед слеша в пути подгружаемого файла.
А теперь собственно проблема с цинком:
если цинк запускает такой внешний проектор через команду System.exec(), то флеш-проектор не подгружает в себя другие файлы! Т.е. надо убирать внутри добавленные слеши и переводить проектор под 9-й ФП (для решения проблемы с русскими путями)
add:
Не пойму я никак, что же такое цинк вытворяет с экзешником, что тот перестает запускаться (вернее подгружать в себя)? Ведь сам по себе экзешник работает. Может System.exec() как-то криво открывает проектор?
add2:
Нет, это просто издевательство (см. аттач). Делаем экзешник в 8-м флеш редакторе (чтобы был внедрен ФП8) из файла cover.fla и запускаем - все работает отлично! Но стоит тот же экзешник запустить из цинка mdm.System.exec("cover.exe") как все - не подгружает! ((((( Уж и mdm.System.execUnicode() на всякий случай пробывал.
Спасает одно: из цинка запустить запускашку этого 8-го проектора, пусть даже сделанную опять же в флешовом проекторе
Код:
fscommand("exec","cover.exe")
fscommand("quit")
И работает! Но это же курам на смех. Что же такое с цинком сотворить?
add3:
Пока методом цинка начала вырисовываться картина глюка.
Если подгружаемый файл из проектора (тот что в проекторе грузиться как "/мой_файл.swf") находиться в одной директории с цинк-экзешником - то все работает. Т.е. цинк каким-то образом забивает 8-й проектор флеша по параметру (this). Т.е. когда 8-й проектор флеша грузит что-то через "/", то он за корень принимает не себя, а цинк-экзешник (((
Вложения
Тип файла: rar test.rar (12.2 Кб, 756 просмотров)


Последний раз редактировалось chingachgoog; 27.06.2008 в 16:50.
Старый 29.06.2008, 00:21
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 2  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Цитата:
Т.е. когда 8-й проектор флеша грузит что-то через "/", то он за корень принимает не себя, а цинк-экзешник
А что вы хотели? Прожектор наследует параметры родительского процесса, т.е. цинк-приложения, в т.ч. и рабочую папку. Так оно, вобщем-то, логичнее.

Напишите простенькую длл-обертку для API-функции CreateProcess. Это решит все проблемы.
...
Хм.
Код:
//cover.exe
this.loadMovie("./targ.swf",1);//targ.swf лежит в той же папке, что и прожектор. сам прожектор в корне C:\
//...
//run.exe(Zinc) лежит в любой папке
mdm.System.exec("c:\\cover.exe");
все работает


Последний раз редактировалось alexcon314; 29.06.2008 в 00:34.
Старый 29.06.2008, 21:48
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 3  
Ответить с цитированием
chingachgoog
Banned
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Цитата:
Сообщение от alexcon314 Посмотреть сообщение
А что вы хотели? Прожектор наследует параметры родительского процесса, т.е. цинк-приложения, в т.ч. и рабочую папку. Так оно, вобщем-то, логичнее.
Непонятно. Почему флеш-проектор-9 ведет себя абсолютно нормально? И лишь флеш-проектор-8 с путем со слешем так "наследует параметры родительского процесса". ??? (((

Цитата:
Сообщение от alexcon314 Посмотреть сообщение
Хм.
Код:
//cover.exe
this.loadMovie("./targ.swf",1);//targ.swf лежит в той же папке, что и прожектор. сам прожектор в корне C:\
//...
//run.exe(Zinc) лежит в любой папке
mdm.System.exec("c:\\cover.exe");
все работает
Ой, alexcon314, а это что такое, с точкой?
"./targ.swf"
Две точки знаю, а одна?

PS моя проблема в том, что есть куча старых программ с флеш-проектор-8 и со слешем и надо их запускать цинком. И даже с имеющимися исходниками переписать их под 9-ФП почти нереально (вернее долго)

Старый 29.06.2008, 23:32
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 4  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Цитата:
Сообщение от chingachgook
Непонятно. Почему флеш-проектор-9 ведет себя абсолютно нормально? И лишь флеш-проектор-8 с путем со слешем так "наследует параметры родительского процесса". ???
Вы это меня\ спрашиваете? Или просто риторика? При том, что восьмой и так бажит с путями да еще и в цинк его завернули? За девятку не скажу.
По моему посту разЪясняю - процесс-родитель отдает свое окружение детям по умолчанию. Что может быть логичнее? Вы знаете как работает mdm.System.exec()? Я только могу предполагать.
Вообще, примеры компилил под 8-ой .. и все работает.
В цинке, правда, девятка по дефолту эмбеддилась.
Цитата:
Сообщение от chingachgook
Ой, alexcon314, а это что такое, с точкой?
"./targ.swf"
Две точки знаю, а одна?
Не понял.
Цитата:
Сообщение от chingachgook
моя проблема в том, что есть куча старых программ с флеш-проектор-8 и со слешем и надо их запускать цинком. И даже с имеющимися исходниками переписать их под 9-ФП почти нереально (вернее долго)
В первом посте об этом ни слова. Пишите длл. Есть масса других возможностей реализовать свои задумки иначе.


Последний раз редактировалось alexcon314; 29.06.2008 в 23:45.
Старый 30.06.2008, 09:04
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 5  
Ответить с цитированием
chingachgoog
Banned
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Цитата:
Сообщение от alexcon314 Посмотреть сообщение
Вы это меня\ спрашиваете? Или просто риторика?
Наверное риторика Хотя я не понимаю, как действует mdm.System.exec() в этом случае.

Цитата:
Сообщение от alexcon314 Посмотреть сообщение
По моему посту разЪясняю - процесс-родитель отдает свое окружение детям по умолчанию. Что может быть логичнее?
Мне кажется, что существует какая-то переменная или флаг ВОВНЕ ФП. И 8-й ФП почему-то при активации не меняет ее.

Цитата:
Сообщение от alexcon314 Посмотреть сообщение
Не понял.
Мне вообще не понятна адресация со слешем впереди - что это значит?
Если две точки перед слешом - это понятно: "../" - указывает на родительскую папку, а одна точка, что такое: "./"?

Цитата:
Сообщение от alexcon314 Посмотреть сообщение
В первом посте об этом ни слова. Пишите длл. Есть масса других возможностей реализовать свои задумки иначе.
Хочется-то как всегда, как попроще, а цинк тут такую свинью подложил на ровном месте (((

Старый 30.06.2008, 09:58
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 6  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
. (точка, заметьте - без слэша!) это указатель на текущую директорию. к нему дописывается дальнейший путь, само-собой через слэш. просто слэш без точки (двух точек) перед ним по идее должен показывать путь относительно текущей папки. но как это разруливается в программе - неизвестно. точки (. и ..) следует употреблять, где это возможно, не лишне.

Про "флаг" сказать ничего не могу. Возможно, что и так.


Последний раз редактировалось alexcon314; 30.06.2008 в 10:01.
Старый 11.07.2008, 17:57
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 7  
Ответить с цитированием
chingachgoog
Banned
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Вообщем написали dll с ShellExecuteA - все работает теперь...
Единственно, что по сетке не запускает, но это не критично.

PS
Заметил еще такую особенность (думал даже что дело в ней) цинка:
путь до себя цинк пишет обратными слешами \\\\\\
т.е. mdm.Application.path выдает путь с обратными слешами,
а вот в mdm.System.exec у меня путь был прописан с обычными слешами /////
(хотя обычный слеш легко меняется на два обратных)
но вроде дело не в этом.

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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