![]() |
{mdm}Zinc
Привет все! Кто как и при каких обстоятельствах использовал mdm zinc?
Недавно ознакомился с мануалом, есть конкретный проект, где зинк-навороты были бы оочень кстати... Реализовал проект на Perl+Apache+AS+MySQL, но хочется большего особенно в области работы с файловой системой и запуском из флеша win-приложений. Простая компиляция готового swf че-то не то выдает, точнее все вроде работает но не до конца как было ..В swf-e идет переключение между кадрами по кнопкам, а в exe-шнике при запуске все кадры прокручиваются до конца и данные не обновляются динамически после коннекта с сервером, только после перезапуска видны изменения в записях в базе. Но в swf-e все как по маслу...Кто-нибудь понимает в чем дело? Простенькие приложения на зинке вроде работают что и манит.. |
Так сказать мало что можно, нужно смотреть файлы да и собственно знать как что и для чего было сделано, вот только разгребать большие проэкты нет не времени ни желания , выкладывай может кто нибудь посоветует, что нибудь полезное ...
|
Не надо разгребать!
В swf-е работает а в Цинке нет: по щелчку вызывается функция обновления таблицы с данными после редактирования(включает .sendAndLoad() ..ни больше ни меньше.. вопрос почему так может быть в принципе? Или перед компиляцией в Цинке код надо как-то "подготовить"? Может его (Цинка) родные классы использовать для передачи данных? С прокруткой разгреб уже..
|
Получилось...
В Цинке есть встроенный дебуггер: трейсит переменные при запуске экзешника что твой флэш ..приятно, только в код надо вставить
mdm.Exeption.trace(); в нужном месте как с функцией флэша trace()...Неплохо вобщем, но до флэшевского дебуггера конечно далеко.. Расколол я запару с обновлением таблицы данных, короче. Если интересно, докладаю: AS-класс LoadVars, который использовался в скрипте имеет метод load() и метод sendAndLoad(). Так вот в скрипте в том месте где был баг стоял load()...когда писал там не было нужды использовать sendAndLoad()(неточно выразился когда формулировал вопрос ранее). При первом прогоне участка кода уже в экзешнике все работает строка с сервера подгружается а потом как будто работает кэш: функция где вызывается load() повторно работает но данные почему-то не обновляются .. причем в самом массиве свойств прнимающего объекта ( for ..in..) все остается как прежде хоть он и инициализируется заново... вобщем надо еще подумать и покрутить.. Заменил на sendAndLoad() просто с фиктивной строкой запроса на сервер (принимаемая строка осталась без изменений) и все стало как надо ..уфф! Чем дальше тем интереснее.. Кстати, облазил некоторое количество тематических форумов - про Цинк глухо, так кое-где кое-как не интересно...Неужто невостребован такой продукт? Или просто труден или просто лажа? Насчет лажи я конечно не думаю что так.. |
А на родном форуме был?
|
форумы с Цинком
В смысле MDM Support Forum? Был .. я имею в виду в рунете .. пообщаться толком не найду с кем.. Думаю тема интересная, можно ее развить.
|
Цитата:
|
По ходу и правда глухо... Ты не пропадай:)) Я тут проект на Цинке завернул.. может совет какой спрошу
|
Открыл новый ресурс по цинку http://mdm-zinc.narod.ru
|
iNils, у меня вопрос по работе с файловой системой в цинке. При вызове mdm.FileSystem.deleteFolder(); папака успешно удаляется, только если она пустая. Ты с этим сталкивался?
|
c удалением файлов проблем нет ..т.е. папку надо удалять рекурсией что-ли?:(
пробовал дополнить цинк соответствующим методом через mdm.Extensions выбрав функцию в kernel32.dll ... тест проходит но в триале нет экспорта:(( |
Цитата:
|
да..была ведь такая мысль..щас попробую..
|
попробовал.. чего-то не работает..может все-таки в триале дело? по идее расширить цинк несложно если доступна опция экспорта расширений а в триал заложили чтоб помучились, чего попроще..
|
вообще я пытаюсь файловый менеджер сваять:) ..для малого предприятия с сетью дабы автоматизировать стандартные действия юзеров ну и контроль за их действиями наладить в духе систем документооборота.. есть исходник небольшой может глянешь?:) Хочу прицепить туда методы mdm.FIleSystem для начала .. и вот на первой же такая запара... хотя copy make вроде работают ничего..
|
выяснил, что удаляется папка только если она пустая, независимо от того работает с ней еще какая программа или нет. пришлось удалять рекурсивно:) помедленнее, чем в проводнике но в разумных пределах...
|
mdm.DLL();
в триальном цинке есть возможность обойти некоторые трудности с созданием расширений:
Код:
btn.onPress = function() {Код:
btn.onPress = function() {или даже Код:
btn.onPress = function() { |
У меня папки и не пустые удалялись.
|
еще вопрос (не сочти за нахальство:)): ты пользовательский интерфейс какой-нибудь делал для работы с файлами ( во флэше само собой)? Цинковые объекты mdm.FileExplorer(); меня не совсем устраивают из-за их ярко выраженной "виндовости" и с функционалом у них что-то не то...
на пример, drag'n'drop не работает и не только это.. у меня есть наработки по использованию mx.controls.Tree для отображения дерева папок. На сайте Макромедии нашел расширенный вариант этого компонента с функционалом drag'n'drop, но... пока в раздумьях, есть проблемы. Ничего не посоветуешь?:) о креативном дизайне и исполнении речь не идет пока.. |
да..еще. Смотрел твое портфолио - понравилось:) . самопроигрывающийся сайт меня прямо вдохновил..:) своё показать не могу:(
|
Здравствуйте все. Долго отсутствовал - работал. С цинком. Поюзал много чего из его встроенных классов. Впечатление вполне положительное. Сетевой файл-менеджер сделал со всеми необходимыми функциями(copy,del,rename, recent,sendfile и т.д + общалка в стиле miranda + mysql -аккаунтинг). Начал делать под цинк dll-ки на VC++...:-)
|
Уважаемые флешеры!!! подскажите, где можно раздобыть этот ***** (в смысле ****** версию). Trial версию нашел но **** на нее не идет. *****************************************
|
Zone71, читаем 3-ий пункт правил http://www.flasher.ru/forum/rules.php
|
Не могу понять, чем я противоречу этой правиле?
|
Желание большой халявы возбраняется.
|
Здравствуйте. Нет ли у кого опыта использования Flash Communication Server? В паре с цинком, конечно. Неплохие перспективы вырисовываются как будто.. По-общаемся?
|
У меня тут другой вопросец ... как узнать координаты самого окошка в винде ... и можно ли программно управлять положением окошка?
|
Кузен в правильную сторону мыслишь. Хороший вопрос.
Очень уважаю мультидмедию за их некогда благородный жест по отношению ко мне. Они мне бесплатно выслали программу с ключами, так как мы никак не могли перевести деньги в доллары/евры. Очень адекватные люди оказались. |
Цитата:
Сорри, у меня был PDF файл с хелпом и данные я взял от туда, но потом заметил там странные вещи и потом решил перепроверить в хелпе на сайте, а там такого не нашел. |
А как вернуть эти координаты?
|
Вопрос решён mdm.Forms.MainForm.x
|
Как же с темой Zinc + FCS? Я извиняюсь за возможную навязчивость.
В доках по FCS говорится, что server-side скрипты можно оформлять и как .asc и как .js файлы. Что это означает? С .asc понятно, а с .js - что это, файлы javascript? Тогда, далее, можно ли написав javascript-файл заставить сервак работать с его локальной файловой системой при помощи объектов javascript? Или я совсем не туда уперся? Про sharedObject я не говорю - тут ясно. Или если вернуться к .asc файлам: сработает ли fscommand в таком файле? И по встроенным as-классам - допускается ли их использование в .asc сценариях? Понимаю, что все можно проверить и прочитать где надо самому, но на что тогда форумы :) ? |
Я в этом вопросе не компетентен, подождём тех кто уже делал подобное
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Спасибо за исчерпывающий ответ. Вы сэкономили мне массу времени :) . Что-то подобное я и подозревал.
А почему флэш (macromedia) так чурается работы с файловой системой? (глупый вопрос) |
К FCS думаю еще вернемся. А сейчас хотелось бы обсудить возможностей классов mdm Script таких как mdm.FTP() mdm.HTTP(), а также объектов класса mdm.Network(HTTPD, Mail, UDP, TCP, UDP.TFTP, UDP.Socket, TCP.FileServer). С сокетами я работал вполне успешно. А вот по серверам FTP, FTPD, HTTP, TCP.FileServer вопрос такой: насколько они надежны и стабильны в работе? как обстоят дела с количеством подключений, держат ли они нагрузку какую? Все применительно к локальной сети. Дело в том, что манит простота их организации, но не обманет ли? :)
|
C классами mdm.FTP и mdm.HTTP я пожалуй погорячился. С их помощью в приложение можно встроить соответствующих клиентов, не более, если верить документации. А вот по поводу объектов в классе mdm.Network вопрос остается открытам.. Меня, как вы, наверно, поняли, интересует возможность организации собственного сервера на этих объектах. Есть мысли по поводу mdm.Network.TCP.FileServer и mdm.Network.UDP.TFTP - использовать их для работы с файловой системой сервера или как дополнение к FCS для тех же целей.
|
Из приведенных выше классов и объектов mdm меня наиболее вдохновил
mdm.Network.HTTPD - на его основе реально поднять свой сервер приложений(!). По крайней мере, в принципе. Насколько это будет реальный сервак - нужно экспериментировать, а может кто уже и сталкивался? Отзовитесь :)! Кому интересно даю ссылку на топик в форуме mdm, где приводится кусок рабочего кода - заготовки для такого сервера: http://www.mdmforum.com/forum/index....13492&hl=httpd. Интересный результат получится если его немного поправить: getThis = "c:\\var\\Apache2\\htdocs\\index.htm"; mdm.Network.HTTPD.setResponse(mdm.FileSystem.loadFile(getThis), ASYNC); Если ввести в адресную строку браузера http://127.0.0.1:8080/, то будет возвращена страница из htdocs апача! (путь к хтмл-у конечно может быть и другой :)). А если http://127.0.0.1:8080/<что-нибудь>?<par1=..&par2=..> можно видеть как "сервак" "парсит" строку запроса.. Не знаю как на остальных, а на меня это произвело неизгладимое впечатление :). Кроме того, в строке запроса можно напрямую отдавать команды свф-у внутри цинк-экзешника-сервера. Круто! |
Здравствуйте еще раз. Если кто посмотрел скрипт в топике mdm форума (см. выше), возможно задался вопросом: что за константа ASYNC такая? В доках о ней вроде я ничего не видел (надо еще глянуть :)). Неожиданно быстро получил ответ на том же форуме:
"mdm.ASYNC is a switch, it should does not matter what value it has, it imply a constant that could be provided as last argument (additional to required arguments in given method) - if provided ZINC tries to execute invoked method in async way - that is wrapper return immadiately letting next line of flahs code to execute, it is appliable only for methods that are type of Void - that is they do not return anything, using it for methods that are expected to provide results (say like mdm.Database.MSAccess.getData()) does not make sense - because there is no other way to get results from {mdm} script v.2 methods in async way (unless explicitely introduced by "events" methods for some objects - say like mdm.Browser.onDocumentComplete)" B еще : "Synchronous API Considerations (When changing to {mdm}script v2) While {mdm}script 2.0 by default is synchronous, in some cases you might want to make the calling of a method asynchronous. This allows the flash player to continue its playback and scripting while the Zinc method is busy. To make any {mdm}script 2.0 call asynchronous, you must add one more parameter to the end which defines it as such: Synchronous call: mdm.Dialogs.prompt(“Hello”); Asynchronous call: mdm.Dialogs.prompt(“Hello”,mdm.ASYNC); NOTE: {mdm}script 1.0 calls are Asynchronous." А здесь http://www.mdmforum.com/forum/index....73&#entry81773 есть отличный пример использования с progressbar'ом. Без ASYNC привязать процесс к progressbar'у в цинке наверно не получится.. |
Здравствуйте. Небольшое сообщение на тему "правая кнопка" (наверно, перемещать не стоит)
Код:
onEnterFrame=function(){В цинке есть свой объект контекстного меню, но оно имеет сугубо виндовый внешний вид и не поддается кустомизации, вложенный пункт в него не встроишь... Но что хорошо в цинке - напрочь глушится стандартное контекстное меню проигрывателя :). Вышеприведенный код позволяет вывыводить меню любого вида (какое нарисуете) и любого содержания. Я, например, использую mx.controls.Menu. Надо только при компиляции в цинке указать Right Mouse Button Ignored. Именно, Ignored. Иначе, стандартное меню вывалится-таки.. Вобщем, цинк здесь на высоте :). Есть еще пример, как прикрутить прогрессбар к файловым операциям и примерчик типа "hello world" на тему разработки своих dll для цинка, но не сейчас.. |
| Часовой пояс GMT +4, время: 18:20. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.