![]() |
|
||||||||||
|
|
|
|||||
|
Banned
|
Как известно 8-й ФП в составе проектора (exe) имел один неприятный глюк - если путь расположения этого exe имел в своем составе русские буквы - то невозможно было что-то подгрузить в такой проектор.
Также известен был и частичный путь решения проблемы - добавление вперед слеша в пути подгружаемого файла. А теперь собственно проблема с цинком: если цинк запускает такой внешний проектор через команду System.exec(), то флеш-проектор не подгружает в себя другие файлы! Т.е. надо убирать внутри добавленные слеши и переводить проектор под 9-й ФП (для решения проблемы с русскими путями) add: Не пойму я никак, что же такое цинк вытворяет с экзешником, что тот перестает запускаться (вернее подгружать в себя)? Ведь сам по себе экзешник работает. Может System.exec() как-то криво открывает проектор? add2: Нет, это просто издевательство (см. аттач). Делаем экзешник в 8-м флеш редакторе (чтобы был внедрен ФП8) из файла cover.fla и запускаем - все работает отлично! Но стоит тот же экзешник запустить из цинка mdm.System.exec("cover.exe") как все - не подгружает! ((((( Уж и mdm.System.execUnicode() на всякий случай пробывал. Спасает одно: из цинка запустить запускашку этого 8-го проектора, пусть даже сделанную опять же в флешовом проекторе И работает! Но это же курам на смех. Что же такое с цинком сотворить? add3: Пока методом цинка начала вырисовываться картина глюка. Если подгружаемый файл из проектора (тот что в проекторе грузиться как "/мой_файл.swf") находиться в одной директории с цинк-экзешником - то все работает. Т.е. цинк каким-то образом забивает 8-й проектор флеша по параметру (this). Т.е. когда 8-й проектор флеша грузит что-то через "/", то он за корень принимает не себя, а цинк-экзешник ((( Последний раз редактировалось chingachgoog; 27.06.2008 в 16:50. |
|
|||||
|
listener
|
Цитата:
Напишите простенькую длл-обертку для API-функции CreateProcess. Это решит все проблемы. ... Хм. все работает Последний раз редактировалось alexcon314; 29.06.2008 в 00:34. |
|
|||||
|
Banned
|
Цитата:
Цитата:
"./targ.swf" Две точки знаю, а одна? PS моя проблема в том, что есть куча старых программ с флеш-проектор-8 и со слешем и надо их запускать цинком. И даже с имеющимися исходниками переписать их под 9-ФП почти нереально (вернее долго) |
|
|||||
|
listener
|
Цитата:
При том, что восьмой и так бажит с путями да еще и в цинк его завернули? За девятку не скажу. По моему посту разЪясняю - процесс-родитель отдает свое окружение детям по умолчанию. Что может быть логичнее? Вы знаете как работает mdm.System.exec()? Я только могу предполагать. Вообще, примеры компилил под 8-ой .. и все работает. В цинке, правда, девятка по дефолту эмбеддилась. Цитата:
Цитата:
Последний раз редактировалось alexcon314; 29.06.2008 в 23:45. |
|
|||||
|
Banned
|
Наверное риторика
Хотя я не понимаю, как действует mdm.System.exec() в этом случае.Цитата:
Мне вообще не понятна адресация со слешем впереди - что это значит? Если две точки перед слешом - это понятно: "../" - указывает на родительскую папку, а одна точка, что такое: "./"? Хочется-то как всегда, как попроще, а цинк тут такую свинью подложил на ровном месте ((( |
|
|||||
|
listener
|
. (точка, заметьте - без слэша!) это указатель на текущую директорию. к нему дописывается дальнейший путь, само-собой через слэш. просто слэш без точки (двух точек) перед ним по идее должен показывать путь относительно текущей папки. но как это разруливается в программе - неизвестно. точки (. и ..) следует употреблять, где это возможно, не лишне.
Про "флаг" сказать ничего не могу. Возможно, что и так. Последний раз редактировалось alexcon314; 30.06.2008 в 10:01. |
|
|||||
|
Banned
|
Вообщем написали dll с ShellExecuteA - все работает теперь...
Единственно, что по сетке не запускает, но это не критично. PS Заметил еще такую особенность (думал даже что дело в ней) цинка: путь до себя цинк пишет обратными слешами \\\\\\ т.е. mdm.Application.path выдает путь с обратными слешами, а вот в mdm.System.exec у меня путь был прописан с обычными слешами ///// (хотя обычный слеш легко меняется на два обратных) но вроде дело не в этом. |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:01. |
|
|
« Предыдущая тема | Следующая тема » |
|
|