Просмотр полной версии : Возможено ли проигрование Flash без установленного ActiveX?
Здравствуйте, такой вопрос.
Есть Flash приложение (swf), его поместил в exe, с помошью Borland Developer Studio 2006, используя компонент SmartFlash.
Получилась exe программа из двух частей swf и exe между собой они обмениваются fs-командами и переменными, организуя нужную работу )
но если запустить этот exe где не был установлен Install_Flash_Player_9_ActiveX.msi то все мои старания не видны на экране до тех пор пока не будет установлен ActiveX..
Может есть способы таскать с собой все нужные *.ocx и библиотеки в папке программы ?
Заранее спасибо.
:drinks:
А вариант swf компильнуть как exe не проще?
aksios - мэн, или я, или ты не вник в тему...
exe уже есть, написан на делфи, это приложение коннектится к серверам, содержит Гис-движок, а swf это только интерфес который общается с программой написанной на делфи, сам swf находится на форме как SmartFlash(ActiveX) компонент...
Если swf компильнуть как exe.. то потом я этот компиленный swf в exe, не смогу поместить в проект делфи, (ещё один exe)..
по моему это вообще не выход..
ещё такой вопрос по теме, может кто запускал на машине без установленного ActiveX, те exe ..шники они точно работают?
Точно работают.
Что то мне подсказывает, что в дельфях надо другой компонент задействовать.
Дело ещё в том что вот такие: ехе-шники точно не работают.
www.citforum.ru/internet/flash/flash_delphttphi/
(http://www.citforum.ru/internet/flash/flash_delphi/)
может кто знает как делать подобное и чтоб работало?
:umnik2:
alexcon314
04.05.2008, 12:47
http://www.f-in-box.com/
возможно есть аналоги, но я не слышал о других.
...
а ваша ссылка непонятная.. чего там, где -не ясно
ссылку поправил, там описание стандартного компонента для делфи
я использовал такой, - http://www.almdev.com/
по сути это всё то же что и f-in-box...
сейчас качаю проверю будет ли работать он без установленного ActiveX элемента.
А установить его принудительно?
с удовольствием!!!
только как это делать?
вот что знаю:
есть дириктория
%winroot%\system32\Macromed\Flash
обычно там лежит файл
Flash9c.ocx
(у меня оказался только FlDbg9e.ocx)))
он отвечает за воспроизведение flash в системе.
помню видел скин к миранде, который использовал flash-анимацию и хранил у себя в папке этот *.ocx только никаких описаний как его использовать или подключать к системе, так же как и *.reg файлов, не нашёл.
только как это делать?
Таскай вместе с программой flash.ocx и если он еще не зарегистрирован в системе (обязательно проверяй иначе под расстрел тебя) и программа выполняется под админскими правами (обязательно проверяй иначе см выше) выполняй "regsvr32 flash.ocx".
А еще можно взять за 300 долларов чужое решение http://flash-ocx.qarchive.org/. По сути flash.ocx можно использовать напрямую (не внося записей в реестр, что требуется в решении приведенном выше), так что глубокое копание в технологии COM должно помочь... Сишникам, во всяком случае... Зы... Простым копи пастом кода не обойтись (я уже исследовал когда-то этот вопрос).
alexcon314
04.05.2008, 14:10
http://www.softwarepatch.com/network-security/flashplay-security.html
http://forum.oszone.net/thread-96190.html
Уже купил SmartFlash VCL от almdev.com нашёл много странных вещей, не передавались некоторые кнопки с клавиатуры, индикатор курсора ввода исчез раз навсегда.. использовать простой ActiveX было даже лучше, но на компах без нормальной видеокарты не работала прозрачность.. в SmartFlash при включении их фирменной прозрачности, переставали работать все кнопки, но обычная прозрачность работала на любых машинах.
наверно всёж буду выполнять проверку и регистрировать ocx.
chingachgoog
21.05.2008, 11:48
Можно ли ВНЕДРИТЬ флеш-плеер в дельфи-оболочку? Т.е. не устанавливать флеш-плеер в ОС (что возможно лишь под правами админа и требует наличия лицензии от адоба), а именно внедрить (наподобие цинковского или стандартного проектора) - в этом случае лицензии от адоба и админские права не требуются.
alexcon314
21.05.2008, 12:01
http://www.f-in-box.com/
chingachgoog
21.05.2008, 12:10
Ага. http://www.f-in-box.com/delphi/help/index/how_to/loading_flash_ocx_code_from_stream.html
Нашел. Только пока с лицензией не разобрался еще.
add:
поговорил с теми, кто использовал бесплатную демо-версию TFlashPlayerControl - говорят, сильно тормозит из-за обилия различных перехватчиков событий, которые там заложены. Может это только в демке? Кто-нибудь использовал полную платную версию? Тормозит или нет по сравнению с использованием ФП из ОС?
add2:
есть идея использовать манифесты, где будет прописан путь к файлу c ActiveX-компонентом (флеш-плеером). естественно не стандартным из ОС, а откуда мне нужно. Кто что об этом думает?
Да это тот самый способ за 300 бачинских чтоб ocx был в комплекте...
С манифестами идея не ясна, мне кажется я встречал программы использующие свой ocx, не трогая системный.. по моему это реально, но я незнаю как.
у меня платная версия )) за 90 бачинских
Да дема тормозила, но это в основном из за того что там постоянно лепится надпись demo version... после того как её убрали вроде нормально всё.
А вообщем сам попробуй.
alexcon314
24.05.2008, 19:03
>>есть идея использовать манифесты...
Идея мне кажется плодотворной. Стоит ей заняться. Только терзают меня сомнения, что всего-то и прописать путь к осх в манифесте - слишком просто.
Более того, есть подозрение, что манифестом следует снабжать сам осх в первую очередь...
http://helpcentral.componentone.com/CS/forums/t/73757.aspx - похожий вопрос.
Еще есть мысль. Существует технология portable-приложений.
Возможно решение есть и в этом направлении.
xdoom, а почему вы все-таки отказались от принудительной установки флэш-контрола?
xdoom, а почему вы все-таки отказались от принудительной установки флэш-контрола?
Это когда Делфи проверяет текущею версию ocx в системе и устанавливает новую??
у меня не получилось поставить через regsvr32.. иногда даже ручной запуск Install_Flash_Player_ActiveX.msi не помогает зарегистрировать ocx в системе, особенно ели ковырялись с ocx руками или ставили кучу разного софта..
вообще часто бывает такой глюк что Install_Flash_Player_ActiveX.msi выдаёт ошибку при установке.. и если удаляешь вручную все ocx и установка проходит нормально, проигрыватель всё равно не регистрируется и swf не проигрывается ...
...и неичего не помогает кромее FlashUtil9c.exe
200 килобайтное приложение само проверит и скачает с сети последнею версию проигрывателя и корректно установит не смотря не на что..
иными словами я не сумел грамотно реализовать принудительную установку ))
ограничился тем что вложил FlashUtil9c.exe в инсталлятор и дал пользователю текстовое указание, мол если не видно ничего запустите эту утилиту.
chingachgoog
27.05.2008, 12:36
xdoom, спасибо за исходники с SmartFlash VCL (almdev.com), но это немного не то о чем я спрашивал.
мне интересно как работает TFlashPlayerControl (f-in-box.com) в полной версии, а не в демо, где он тормозит.
SmartFlash VCL все же не является альтернативой ФП из ОС, а насколько я понимаю, лишь дополняет этот ФП (т.е. без установленного ФП в ОС он работать не будет).
А у TFlashPlayerControl совсем другой принцип работы. Он перехватывает обращения к ФП в ОС и использует свой ФП. Т.е. может работать как вообще без установленного в ОС ФП, так и с установленным, но не правильной версии.
Вообще установка ФП в ОС не подходит по многим причинам: у пользователя может не быть админских прав, а допустим, запустить приложение ему надо. На установку ФП нужна лицензия от адоба...
alexcon314
28.05.2008, 09:52
chingachgook, ваша идея с манифестами оказалась действительно плодотворной. РЕГАРДСЫ. Здесь (http://www.devx.com/vb/Article/32888/1954) рассказывается о том как собрать приложение с COM, работающее без его регистрации в системе. Привожу так же небольшой отчет о том как я все это реализовал.
Первое, что нужно сделать - убедиться, что на машине, где вы собираете приложение установлен FlashPlayer. При чем обязательно нужно его зарегистрировать в системе
в командной строке:
cd <SystemDir>\system32\Macromed
regsvr32 FlashХХ.ocx
Инсталлятор от адоба почему-то глючит. Обязательно поместить FlashХХ.ocx в указанную папку Macromed.
Создаем Windows C# проект в MSVC 2005. На форму Form1.cs [Design mode] помещаем флэш-компонент. Для этого в тулбоксе на вкладке Components жмем правой кнопкой и Chose Item->COM->ShockwaveFlashObject, затем перетаскиваем его на форму. В окне свойств компонента указываем в поле Movie путь до загружаемого в него swf, если хочется, ставим EmbedMovie=True. Компилим. Запускаем. Работает. Для чистоты эксперимента делаем унинсталл плеера, и обязательно удаляем FlashXX.ocx. Запускаем ехе, любуемся окном с сообщением об ошибке - НЕ РАБОТАЕТ!
Ставим плеер обратно, регим его в системе. Только после этого (!) открываем наш проект MS VС (иначе заглючит design mode]. Идем в Solution Explorer, открываем наш проект, находим папочку Reference, а в ней (внимание!) два файла: AxShockwaveFlashObject и ShockwaveFlashObject. Кликаем на любом из них и в окне его свойств ставим Isolated=true (вот оно!). То же со вторым. Компилим. Закрываем MS VC. Сносим плеер, не забывая удалить .ocx. Запускаем. РАБОТАЕТ!
Вообще, сносить плеер с вычищением реестра и прочими предосторожностями не обязательно. Достаточно убрать из виду FlashXX.ocx, переместив его в другую папку, например. Ну тут дело вкуса. Лучше, конечно, иметь под рукой чистую машину для тестов.
При компиляции с Isolated=true рядом с ехе появятся вдруг откуда ни возьмись FlashXX.ocx и, собственно, сам манифест. Это компилятор постарался. Наличие этих файлов по-соседству с ехе, сами понимаете, гвоздь программы. Без любого из них ехе не запустится. Кроме них еще два важных файла AxInterop.ShockwaveFlashObjects.dll и Interop.ShockwaveFlashObjects.dll. Они тоже генерируются автоматически при вставке компонента на форму.
Пользоваться таким способом сборки приложений надо осмотрительно. Можно нарваться на проблемы с лицензированием внедряемого контрола. Кроме того, вся эта канитель будет работать только под Windows не ниже XP PRO SP2. При этом в системе должен быть установлен .NET Framework 2.0.
Цинк, кстати работает и под 98-мым.
Скомпилированный проект выложил здесь. (~1.5Mb) Работает без установленного плеера. Внедряется 9-ый плеер. Мув зашит в ехе.
http://mdm-zinc.narod.ru/CS/CSF.zip
В Delphi повторить такое, думаю, реально.
chingachgoog
28.05.2008, 14:41
chingachgook, ваша идея с манифестами оказалась действительно плодотворной.
...рядом с ехе появятся вдруг откуда ни возьмись FlashXX.ocx и, собственно, сам манифест. ...Наличие этих файлов по-соседству с ехе, сами понимаете, гвоздь программы. Без любого из них ехе не запустится.
...В Delphi повторить такое, думаю, реально.
Собственно это идея нашего дельфи-программиста (слово манифест я услышал на днях :) ).
Но идея пока далека от плодотворности. Аналога TFlashPlayerControl пока не выходит. Ведь установить ФП из дельфи-приложения можно и сразу в ОС. Но для этого надо получить лицезию от Адоба (и нарваться на ограничения). А ограничений нет только если ФП внедрен внутрь ран-тайма (наподобие Цинка или проектора самих адобовцев).
alexcon314
28.05.2008, 17:13
Я вас не понимаю. Вы хотите, извиняюсь, заюзать "просто так" плеер адоба, внедрив его в какой-то мифический рантайм? Код плеера в любом случае защищен. От меня ускользает смысл ваших изысканий в этом вопросе.
Что касается манифеста. Вы противоречите самому себе.
Вообще установка ФП в ОС не подходит по многим причинам: у пользователя может не быть админских прав, а допустим, запустить приложение ему надо.
..
Ведь установить ФП из дельфи-приложения можно и сразу в ОС.
Использование манифестов как раз решает эту проблему. И опять-таки я вас не понимаю. Именно в рантайме плеер внедряется в приложение. Просто настроечные параметры COM берутся в этом случае не из реестра, а из манифеста. По-любому юзается класс-враппер для вставки его в приложение. Он-то и находится в AxInterop.ShockwaveFlashObjects.dll и Interop.ShockwaveFlashObjects.dll.
Согласен, это решение не 100%. Но по вашим запросам нужно писать свой плеер, не меньше.
chingachgoog
28.05.2008, 17:25
Я вас не понимаю. Вы хотите, извиняюсь, заюзать "просто так" плеер адоба, внедрив его в какой-то мифический рантайм?
Что собственно мы и делаем используя Цинк или даже адобовский флеш-редактор (с созданием проектора). В этом случае никакой лицензии от Адоба не требуется (если мы продаем свой продукт), т.к. ФП внедрен внутрь ран-тайма и является его составной частью.
Код плеера в любом случае защищен. От меня ускользает смысл ваших изысканий в этом вопросе.
На код плеера никто не посягает. Более того, продавая свой продукт в своей лицензии я укажу, что нельзя его (мой продукт) подвергать декомпиляции.
Что касается манифеста. Вы противоречите самому себе.
Вообще установка ФП в ОС не подходит по многим причинам: у пользователя может не быть админских прав, а допустим, запустить приложение ему надо.
Использование манифестов как раз решает эту проблему.
Эту да (еще правда не проверили при запуске по сети, когда само приложение (с манифестом, ФП и т.п.) находиться на одном компе, а мы запускаем через другой).
Но этот вопрос для меня второстепенный.
Именно в рантайме плеер внедряется в приложение. Просто настроечные параметры COM берутся в этом случае не из реестра, а из манифеста. По-любому юзается класс-враппер для вставки его в приложение. Он-то и находится в AxInterop.ShockwaveFlashObjects.dll и Interop.ShockwaveFlashObjects.dll.
Чего еще вам надо?
Весь вопрос где физически находиться код флеш-плеера. Если он находиться не в ран-тайме (файле-запускашке-экзешнике или еще где спрятан в другом файле), а представляет собой отдельный файл (собственно файл-ФП), то продавая нашу программу, мы занимаемся распространением флеш-плеера, что попадает под необходимость брать лицензию от адоба и соответствующие ограничения. Это конечно не так смертельно как поставлять готовый установщик флеш-плеера от адоба, но все равно придраться можно.
alexcon314
28.05.2008, 17:41
Что собственно мы и делаем ("просто так юзаем"?) используя Цинк или даже адобовский флеш-редактор (с созданием проектора). В этом случае никакой лицензии от Адоба не требуется (если мы продаем свой продукт),
За создание проектора и цинк-приложения мы (разработчики) вроде как не платим ни копейки по вашему выходит? Флэш-IDE и zinc-IDE - бесплатны? Или вы альтруист и хотите сделать их бесплатный аналог? Но бесплатным он будет для кого угодно, только не для вас. Все упирается в защищенный код плеера в любом случае. Где бы и как бы вы его не внедряли - придется спросить разрешения у адоба. Или писать с нуля свой плеер и потом доказывать что он именно ваш.
Извините за может быть излишнюю категоричность в тоне. Ничего личного :)
chingachgoog
28.05.2008, 18:14
За создание проектора и цинк-приложения мы (разработчики) вроде как не платим ни копейки по вашему выходит? Флэш-IDE и zinc-IDE - бесплатны?
Почему бесплатные? Да, разработчик платит, покупая среду разработки.
Но! Далее, уже продавая свою разработку, разработчик ничего не отчисляет ни мдм, ни адобу. Никаких лицензий у них не просит, соответственно не связан ограничениями (единственно, что требуется - указать, что декомпилировать нехорошо)
Все упирается в защищенный код плеера в любом случае. Где бы и как бы вы его не внедряли - придется спросить разрешения у адоба.
Наши юристы, изучив требования адоба пришли к другому выводу :)
Или писать с нуля свой плеер и потом доказывать что он именно ваш.
Меня устроит вариант, когда на продаваемой диске (и потом на винте у пользователя после инсталяции) не будет отдельного файла ФП.
alexcon314
28.05.2008, 23:04
Значтит, если верить юристам, у создателей оболочек для флэша полностью развязаны руки?. Тем лучше:).
Ок. Будем считать вопрос о лицензиях исчерпанным. :) Юристам, конечно, виднее.
Тогда такой вариант: внедрить в ресурсы .ехе файл плеера .осх. Формально на диске плеера не будет. (фактически будет, конечно, но как бы и не будет. Не в воздухе же его хранить в конце концов:)).
...
Меня смущает несколько обстоятельств.
1. Продавать ШТАТНЫЙ флэш-прожектор, который и задумывался как раз для девелопера, которому вздумается продавать стандалоне и продавать ПЛЕЕР В НЕШТАТНОЙ ОБОЛОЧКЕ - две большие разницы.
2. С точки зрения программиста плеер отдельным файлом и плеер в ресурсах ехе (dll) - одно и тоже.
3. Где-то я читал, что плеер можно юзать без ограничений, если вы его юзаете ДЛЯ ЗАПУСКА SWF ИЗ ИНТЕРНЕТА.
Вкупе все это заставляет задуматься.
chingachgoog
29.05.2008, 11:22
Тогда такой вариант: внедрить в ресурсы .ехе файл плеера .осх. Формально на диске плеера не будет.
...
2. С точки зрения программиста плеер отдельным файлом и плеер в ресурсах ехе (dll) - одно и тоже.
Именно так нами и задумывалось, но соеденить с манифестом пока не получается.
1. Продавать ШТАТНЫЙ флэш-прожектор, который и задумывался как раз для девелопера, которому вздумается продавать стандалоне и продавать ПЛЕЕР В НЕШТАТНОЙ ОБОЛОЧКЕ - две большие разницы.
Там есть некоторые тонкости и ограничения.
С другой стороны, посмотрите на сайте мдм - разве они говорят, что вы, создав и продавая свое цинк-приложение, должны получать на это лицензию от адоба или от мдм? А ведь Цинк - это нештатная оболочка к ФП.
3. Где-то я читал, что плеер можно юзать без ограничений, если вы его юзаете ДЛЯ ЗАПУСКА SWF ИЗ ИНТЕРНЕТА.
Может быть, не слышал о таком, но это не мой случай.
add:
При запуске приложения по сети (экзешник и все с ним - на другом компе) манифест не удается заставить работать (не хочет брать ФП с другого компа). Работает только на локальном компе. :(
alexcon314
09.06.2008, 01:35
При запуске приложения по сети (экзешник и все с ним - на другом компе) манифест не удается заставить работать (не хочет брать ФП с другого компа). Работает только на локальном компе.
Только что заметил ваш add..
Установлен ли на компе, где запускете .NET Framework?
Вообще, при публикации проекта C# требуется указать некоторые параметры секурности. Видимо, я публиковал с параметрами по умолчанию и их не хватает.
Наверно это не очень принципиально. В том смысле, что требуется все равно какое-то другое решение.
...
Не смог удержаться. И все-таки адоб надо оповестить о ваших планах на плеер. :)
Добавлено.
Да, секурность превыше всего. При нормальной публикации проекта создается инсталлятор (нет, не флэшплеера!), который затаскивает на комп все необходимое и, собственно, все начинает работать. При чем все необходимое ложится в профиль юзера, и плеер в том числе. Установку можно запустить не только по локальной сети, но и с веб-сервера. Правда урл деплоймент-ресурса прошивается при публикации и его изменение повлечет пересборку проекта.
...
Забыл сказать, вебсервер должен быть IIS.
alexcon314
08.07.2008, 14:19
Еще три обстоятельства.
1. В манифесте можно менять имя файла плеера. Наприме, оригинал flash9f.ocx можно переименовать в blabla.dll и поменять соответственно название в манифесте. Ибо важен формат файла, а не название.
<assemblyIdentity name="CSF.exe" version="1.0.0.0" type="win32" />
<file name="blabla.dll" asmv2:size="2991488">
<hash xmlns="urn:schemas-....
2. Вообще, можно подставлять любую версию плеера (имеется в виду версия файла осх). Проигрываться будет именно в той, которую укажете. Я подставлял ocx 6-го, 9-го, 10-го плеера для одного и тогоже ехе. Версия высвечивается в контекстном меню.
<assemblyIdentity name="CSF.exe" version="1.0.0.0" type="win32" />
<file name="flash10.ocx" asmv2:size="2991488">
<hash xmlns="urn:schemas-....
3. Сам осх можно грузить не локально, а по сети. Сам ехе с манифестом должен лежать на компе пользователя. А осх может лежать где угодно в сети (в локальной). Однако, сетевой ресурс должно мапировать как сетевой диск. С обычной шары не грузится.
<assemblyIdentity name="CSF.exe" version="1.0.0.0" type="win32" />
<file name="Z:\\flash9f.ocx" asmv2:size="2991488">
<hash xmlns="urn:schemas-....
...
И, наверно, четвертое:
Есть вероятность, что можно грузить осх из ресурсов самого ехе.
<assemblyIdentity name="CSF.exe" version="1.0.0.0" type="win32" />
<file name="res:///C:\\app.exe\\[id ресурса]" asmv2:size="2991488">
<hash xmlns="urn:schemas-....
chingachgoog
21.07.2008, 12:19
Тоже, только что заметил ваши сообщения, alexcon314 :)
Не смог удержаться. И все-таки адоб надо оповестить о ваших планах на плеер.
Ну пока такая коллизия ими самими же и допущена :)
Я все же не понял, удалось ли вам запустить приложение по сети, если все (экзешник, подгружаемые файлы swf и пр.) находится на другом компе?
alexcon314
21.07.2008, 15:02
Я все же не понял, удалось ли вам запустить приложение по сети, если все (экзешник, подгружаемые файлы swf и пр.) находится на другом компе?
Нет пока. Я осх на сетевой диск выкладывал и работало. Т.е. не нужен файл осх на каждом компе. Уже хорошо:)
Чтобы по сети работало, как вы говорите, нужно поковырять настройки публикации C#-проекта и конфиги сборки. Там много разных фич, сразу не разобраться.
Чем больше я знакомлюсь с .NET, тем больше оно мне нравится. По-сути - такая же VM, как фо флэше. Компилятор встроенный... редактор байт-кода есть... туча вариантов архитектуры приложений ... Слышал, что портируют на другие платформы.. Бросай Delphi :D!
alexcon314
04.02.2009, 02:38
Упорно подолбавшись, я таки смог захостить флэш-контрол без регистрации и манифестов и NET. Использовал С++ и ATL. Компилил в MS VC++ Express 2008 (ATL-фреймворк пришлось вручную затащить)
Как грузить из ресурсов (http://www.joachim-bauch.de/tutorials/load_dll_memory.html/en#memorymodule)
Еще (http://www.codeproject.com/KB/COM/flashcontrol.aspx?display=PrintAll&fid=915540&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=26&select=2683639). И еще. (http://www.ernzo.com/windowlesscont.aspx)
проверил - под вистой тоже работает.
пример (http://mdm-zinc.narod.ru/flashcom/res.zip) (~2M), с внедренным 10-ым плеером и мувиком в ресурсах.
"Возможно ли проигрование Flash без установленного ActiveX?" - Легко :D.
chingachgoog
04.02.2009, 10:29
:eek: Вот это да...
alexcon314, а как бы вы сами самым простым способом бы определили бы, что это все же ФП?
alexcon314
04.02.2009, 10:38
Чего?
Да, кстати, http://www.adobe.com/products/eula/t...e_license.html
(http://www.flasher.ru/forum/showpost.php?p=794210&postcount=22)
я чего-то не очень въехал в суть. Как ты сам склонен трактовать данный документ?
chingachgoog
04.02.2009, 15:07
Это я про внедренный ресурс (ФП) в приложение. Какая последовательность действий, чтобы определить - что это сделано на флеше? (пункт первый - правый клик :) )
Про лицензию я думаю так.
Мне было интересно, что по этому поводу говорят mdm-овцы.
http://www.multidmedia.com/support/faqs/?action=detail&id=1
А они на сам продукт, собранный Цинком лицензии не требуют. А по поводу того, что в Цинк-проект будет встроен ФП они отсылают к Macromedia Flash Run-Time Distribution License (http://www.adobe.com/products/eula/tools/flash_runtime_license.html).
Я, конечно, не юрист и не носитель языка, но, вроде, смысл там простой: run-time является неотъемлемой частью продукта и заключать на него лицензию не требуется, кроме как в соглашении на свой продукт запретить его декомпиляцию.
alexcon314
04.02.2009, 15:46
Хм.. но это вовсе не означает, что сам разработчик может делать с этим рантаймом все что угодно. Юзать-юзай, хочешь в свою прогу вставить и продавать - гуд. Но вот отключать меню, или там прочие фичи.. зыбко как-то все это..
Ну да ладно... рано или поздно найдутся ответы на все вопросы.
Как определить, что на флэше сделано? Ресурсы вынуть достаточно легко. То, что в ресах свф ... не мне вас учить, как распознать этот формат. Идентифицировать код в ресах, как код плеера - тоже не проблема.
Ну, а чисто визуально - пожалуй, придраться трудно, если убрать правый клик или кастомное меню на него повесить.
Есть еще одно обстоятельство - мне не известны, например, программы, воспроизводящие свф, кроме как адобовский плеер. Одно наличие свф в ресах уже признак.
chingachgoog
04.02.2009, 16:19
Хм.. но это вовсе не означает, что сам разработчик может делать с этим рантаймом все что угодно. Юзать-юзай, хочешь в свою прогу вставить и продавать - гуд. Но вот отключать меню, или там прочие фичи.. зыбко как-то все это..
mdm-овцы отключили правый клик нисколько не парясь - а ведь это основная фишка макромедии была. :quiet:
alexcon314
04.02.2009, 17:25
ок. не буду спорить.
alexcon314
15.02.2009, 00:50
Хостинг контрола без регистрации и админских прав юзера при запуске проги вполне возможен. Возможно даже грузить контрол из ресов ехе и свф брать из ресов. Т.е. создать подобие автономного проектора более чем реально. Даже без ATL и MFC, на чистом С (много кода - но реально). Приплести Qt - и даже кроссплатформу можно реализовать.
Однако, лицензионные соглашения о распространении и использовании плеера, а так же рантайма от адоба вообще, все же требуют, чтобы вы сообщили адобу о вашем проекте и получили индульгенцию на такое его использование. Это лично моя интерпретация соглашений, возможно, я, не будучи специалистом в области юриспруденции, ошибаюсь, и все проще.
Добавлю, что вопрос с лицензией - животрепещющий,не мало народа реализовали хостинг плеера, и даже юзают его в своих действующих проектах, знаю, ибо копал, но никто не знает, законно это или нет. Сам адоб предпочитает ограничиться следующей формулировкой:
Если вы используете любой из компонент компании Adobe, который мы
распространяем под любым из своих лицензионных соглашений (даже если это
бесплатная лицензия) как внешний, т.е. ссылаетесь на него так, чтобы
пользователь мог скачать его самостоятельно, или распространяете в комплекте
как OEM партнер, подписав соответствующее соглашение на сайте - это
легально.
Если вы используете компонент в качестве элемента собственной программы и
потом распространяете свою программу на собственных лицензионных условиях
(бесплатно или за деньги - это уже не важно), то это нарушение лицензионных
прав, т.к. вы фактически подменяете условия нашего лицензионного соглашения
своим.
Таким образом вы должны строить свою программу так, чтобы она не содержала
наш плеер внутри, а использовала его как внешний модуль, который
пользователь должен установить отдельно и тем самым подтвердить наше
лицензионное соглашение.
Взято из ответа Российского представительства Adobe.
И,собственно, http://www.adobe.com/ru/products/clients/all_agreement.html
Другими словами, законно - это когда вы юзаете плеер, при этом даете адобу об этом знать и получили от него официальное разрешение. Что там делает mdm - это их проблемы.
starserfer
15.02.2009, 02:08
Но не окажется ли факт использования цинка проблемой для всех тех, кто преобразовывает с его помощью swf в exe? То есть, при самой жесткой трактовке лицензии, будет ли создание приложений с использованием программ, подобных цинку, считаться противозаконным деянием? И вообще, интересно было бы узнать, какую цель преследуют разработчики, пытаясь избавиться от адобовских меню: эстетическую, улучшение usability, или какую-то другую? Что будет считаться более законным (или противозаконным) - создание exe на основе swf с одновременным удалением всякого упоминания о Adobe (неизвестно, на чем сделано, и нет претензий) или, к примеру, использование того же Цинка с отключением правой кнопки, но без блокировки AppKey?
alexcon314
15.02.2009, 23:31
И вообще, интересно было бы узнать, какую цель преследуют разработчики, пытаясь избавиться от адобовских меню: эстетическую, улучшение usability, или какую-то другую?
Это не разработчики.
Цинк-ехе у меня вызывают дрожь, ибо зная, что есть плеер и что есть хостинг оного, пусть и грамотный, могу сказать - плеер есть код, к которому надо стремиться, хостинг - код, который может релизитить любой при желании.
На счет "не окажется ли " .. это к цинку. Они дали уже ответ:
http://www.multidmedia.com/support/faqs/?action=detail&id=1
Вы, как разработчик, должны решать сами, что и как.
starserfer
16.02.2009, 01:44
То есть, если я правильно я вас понял, каждый программист должен стремиться к написанию собственной оболочки? А использование программ типа цинка - это дурной тон? Указанная ссылка никуда не привела, но с содержанием лицензии я знаком, читал ее раньше. Если верить ей, со всем упакованным цинком содержимым можно делать все, что угодно. Все бы хорошо, и еще пару месяцев назад, когда был озадачен поиском любой программы swf_to_exe именно с целью избавления от контекстного меню, эти, касающиеся легитимности, вопросы, вообще бы не возникли. Но разгоревшаяся здесь дискуссия заставляет задуматься о неоднозначности юридических трактовок. А также о том, как без использования каких-то программистских трюков или уловок добиться оптимального результата.
alexcon314
16.02.2009, 09:12
Да нет, почему дурной тон? Пользуйтесь, на здоровье.
Я имел в виду, что написать худо-бедно оболочку под силу многим, а вот свой плеер - врядли ..
"Не разработчики" - люди, нарушающие лиц. соглашение.
К цинку придраться трудно: отключать меню или нет - в конечном счете решаете вы, вам лишь предлагают инструмент.
Отключение контекстного меню плеера - действие, нарушающее лиц. соглашение, если вы не заключали на то отдельного соглашения.
Плеер таскать с собой в ехе или отдельным файлом - нарушение, если вы не заключали на то отдельного соглашения..
Если вы меня разубедите - буду только рад.
ЗЫ ссылку поправил.
chingachgoog
16.02.2009, 12:57
Я вот тут опять вспоминаю про знаменитую старинную программку под названием Директор. Современный ФП приблизился к ней по весу, а по функционалу так и не догнал (в Директоре, например, реализовано реальное 3D). Так вот, слышал я, что директорщики скрывали-таки контекстное меню в своих презентациях. Но каким именно способом - не знаю (как то не довелось использовать). Если это было сделано стандартными средствами Директора, то вопрос "можно/нельзя скрывать контекстное меню" становится риторическим. :)
add:
Вот, нашел в справке по современному Директору:
settingsPanel()
Usage
-- Lingo syntax
spriteObjRef.settingsPanel({integerPanelIndex})
// JavaScript syntax
spriteObjRef.settingsPanel({integerPanelIndex});
Description
Flash sprite command; invokes the Flash Settings dialog box to the specified panel index. This is the same dialog box
that can be opened by right-clicking (Windows) or Control-clicking (Mac) on a Flash movie playing in a browser.
The Settings dialog box will not be displayed if the Flash sprite’s rectangle is not large enough to accommodate it.
If you want to emulate the Flash Player by invoking the Settings dialog box when a user right-clicks (Windows) or
Control-clicks (Mac), you can use this command in a mouseDown handler that tests for the rightMouseDown
property or the controlDown property.
In order to emulate the Flash Player by enabling the Settings dialog box in a Director movie running in a browser,
you must first disable the Shockwave Player context menu that is available by right-clicking (Windows) or Controlclicking
(Mac) on a movie with Shockwave content playing in a browser. For information on how to disable this
menu, see the Using Director topics in the Director Help Panel.
alexcon314
16.02.2009, 14:43
Интересно. Но это все-таки не флэш плеер.
По поводу производителей оболочек. Для сравнения - f-in-box. Неплохой инструмент. Можно грузить плеер из ресов, и еще много чего.. НО!
Плеер они не поставляют. И рекомендуют обратиться к Adobe по вопросам его распространения. f-in-box всего лишь фреймворк для хостинга. Сам разработчик должен решить - будет он распространять плеер или нет.
Списался с модератором форума f-in-box.
Я:Итак, f-in-box - это библиотека для хостинга плеера в сторонних приложениях. Как такового плеера она на содержит. И ответственность за включение кода плеера в приложение несет сам разработчик/дистрибьютор продукта? Т.е. вопрос о распространении плеера нужно решать c Adobe отдельно?
Другими словами, f-in-box это инструмент, как им воспользуется разработчик - это уже его дело.
Он:Если кратко - то да, так и есть.
Однако даже не все производители flash projectors заключили какие-то особые соглашения с Adobe.
Multidmedia (которая производит Zinc; они используют f-in-box) заключили такое соглашение.
А вот mProjector - нет. Они даже на своем форуме об этом писали.
Если же flash player распространять со своим приложением не планируется, то никаких особых соглашений с Adobe не требуется.
А вот и mProjector:
http://forums.screentime.com/viewtopic.php?t=789&highlight=licence+license
There have been no problems in the past and we do not expect any in the future. We have had an agreement with Macromedia in the past and I expect Adobe will do llikewise..
chingachgoog
16.02.2009, 15:26
Забавно, т.е. mdm используют в Цинке f-in-box? Как мир тесен.
Что сами-то mdm-овцы об этом молчат и с лицензией мутят?
И не понятна последняя фраза модератора f-in-box - что значит, распространять ФП? Встроенный в рантайм ФП - это распространение? Мне пока кажется, что адоб печется лишь о чистоте источника УСТАНОВЩИКА ФП в систему (он должен быть оригинальным и самой последней версии).
А вот еще посмотрел китайцев с их SWF Kit
http://www.swfkit.com/index.html
Что-то на их сайте вообще ничего про лицензирование не нашел. :)
PS Пока ясно одно - ясности нет
starserfer
16.02.2009, 15:51
Попытаюсь предположить, что возможность удаления контекстного меню у Директора предусмотрена из-за отсутствия для него сторонних программ-оболочек. Никогда о таких не слышал, да он, судя по всему, в них и не нуждается. А в случае FP, основные лицензионные ограничения, как я теперь понимаю, связаны с упаковкой его средствами сторонних программ. И не могу сказать, что этот факт меня весьма радует.
Плеер таскать с собой в ехе или отдельным файлом - нарушение, если вы не заключали на то отдельного соглашения..
Если вы меня разубедите - буду только рад.Хотелось бы и самому иметь более однозначную трактовку, но хочу поинтересоваться, не способствует ли в некоторой степени делу разубеждения следующая цитата?
Списался с модератором форума f-in-box......Однако даже не все производители flash projectors заключили какие-то особые соглашения с Adobe.
Multidmedia (которая производит Zinc; они используют f-in-box) заключили такое соглашение. Следует ли это понимать, что все необходимые соглашения уже заключены, а я, разработчик, используя цинк, просто следую в русле этих соглашений и не нуждаюсь в заключении какого-то отдельного соглашения? И могу делать с контекстным меню все что угодно?
alexcon314
16.02.2009, 16:32
Однозначный ответ может дать только Multimedia. Видимо, это должно было каким-то образом оговариваться в указанном соглашении.
Оба производителя, и цинк, и мпрожектор, говорят, что заключили соглашения еще с макромедией.
Жаль, но пока вопросов больше, чем ответов. Видимо, следует набраться терпения и заняться выяснением всех обстоятельсв.
Меня в большей степени интересует что это за соглашение?
а что по macromedia?Насколько я помню,fp8 прежним правообладателем так "сурово" не лицензировался.Получается,если я юзаю цинк с fp8,то ничего не нарушаю?
alexcon314
16.02.2009, 16:42
Ну, макромедийные продукты вроде как адобу принадлежат. А как макромедия лицензировала плеер?
alexcon314,вобщем в том и соль.Договор MDM был заключен с прежним правообладателем,потом они его с адобой перезаключили,но мне,если я купил продукт на том этапе,когда действовал их договор с макромедией,это уже фиолетово,т.к. я под "Если вы используете компонент в качестве элемента собственной программы..." не подписывался и все вроде как тип-топ.
Не помню точно,наверн есть в сети эти старые лицензии.
И кстати,такой еще вопрос.Лицензия адобы распространяется на бета-версии fp?Вообще,бета - продукты правообладатель имеет право лицензировать?
PS:последний вопрос снимаю.Судя по всему,имеет право...
starserfer
16.02.2009, 17:15
В общем, ясности действительно нет. Но, не смотря ни на что ведь используют разработчики цинк. Предполагаю, многие из участников этого обсуждения уже применяли его в своих реальных проектах. И удаляли контекстное меню (при этом не все, подозреваю, избавлялись от него по нажатию AppKey). И что?
alexcon314
16.02.2009, 17:28
Да ничего. В практике, конечно, использовали и используют.
Ответственность, видимо, перекладывается на multimedia с их соглашением. Ибо тот же f-in-box от всякой ответственности открещивается, оставляя всю возню разработчику.
Больше тут ничего не скажешь.
С другой стороны, неплохо бы на это соглашение взглянуть, а мультимедии выложить его на всеобщее обозрение. Чего стесняться-то?
Я ничего не имею против цинка и иже с ним, просто стало интересно.
Учитывать версии плеера и кто когда и под чем подписался - еще больше запутывает ситуацию.
Просто лицензия адобы,в отличие от макромедии,пространства для маневра не оставляет.
Приложение с fp9 и выше получается априоре "потешное","для себя друзей - знакомых",что бы они там в mdm не писали.Продать в рамках закона его нельзя.Правообладатель этого не разрешает,и в случае чего вот на этот пункт лицензии ссылаться будет:
Если вы используете компонент в качестве элемента собственной программы и
потом распространяете свою программу на собственных лицензионных условиях
(бесплатно или за деньги - это уже не важно), то это нарушение лицензионных
прав, т.к. вы фактически подменяете условия нашего лицензионного соглашения
своим.
chingachgoog
16.02.2009, 19:02
Здесь надо еще учитывать российские трактовки. В адобе могут написать, что мы при запуске должны три раза "ку" сказать и присесть, но по российским законам - это не будет действительно к исполнению.
chingachgoog,и то правда.
А договор с каким - нибудь канувшим в лету "ООО.Тютькин",подтверждающий,что ты добросовестно купил у них программу MDM Zinc...,которую они,в свою очередь ранее купили у кого им вздумается...итд,итп" вааапще наверное все вопросы снимет...
starserfer
16.02.2009, 20:29
...и
потом распространяете свою программу на собственных лицензионных условияхТо есть в этом загвоздка? А если я не имею "собственных лицензионных условий" и не собираюсь ничего подменять? Если дело только в этой формулировке, то, полагаю, дело обстоит, хотя и не менее запутанно, но и не безнадежно.
alexcon314
17.02.2009, 09:13
А если я не имею "собственных лицензионных условий"
Это как раз и означает, что приложение
"потешное","для себя друзей - знакомых" и этого вам запретить не может никто.
Загвоздка в том, что получив плеер от адоба, вы являетесь КОНЕЧНЫМ его (плеера) пользователем. Ссылка chingachgook'a на лицензию рантайма(http://www.adobe.com/products/eula/tools/flash_runtime_license.html) вобщем-то не запрещает распространять стандалон-аппликейшн, но тут есть момент: этот аппликейшн вы должны сделать на ихнем же софте. Ну, и подразумевается, видимо, что никаких модификаций, типа отключения контекстного меню, вы делать не будете, да и нельзя этого сделать на ИХНЕМ софте. Т.е. речь идет просто о стандартном проекторе, насколько я понял.
К сожалению, Российское представительство адоба не взялось как-то прокомментировать этот документ, ограничившись ссылкой на общее лиц. соглашение http://www.adobe.com/ru/products/clients/all_agreement.html
Видимо, последний документ имеет больший "вес".
Трактовок, российских и "российских" и еще всяких придумать можно много, чем от части мы тут с вами и занимаемся :D.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.