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

Вернуться   Форум Flasher.ru > Блоги > alexcon314

Без категории Записи без категории
listener

Пишем свою оболочку для FP под Windows. Шаг 6.

Запись от alexcon314 размещена 19.05.2011 в 09:16
Обновил(-а) alexcon314 24.05.2011 в 23:13
Бинарный буфер для обмена данными.

На этот раз я расскажу об одном трюке (трике?).
ExternalInterface, как вы знаете, работает только со строками: в XML пакуются числа, булы, что там еще.. А что если надо обмениваться бинарными данными? Да, конечно, есть basе64. Но все же.
Так вот. Есть несложный ход, который позволяет организовать бинарный буфер
для обмена данными. Об этом я немного рассказал здесь: http://www.flasher.ru/forum/blog.php?b=265
Итак, идея ...
Старый
 
Размещено в Без категории
Комментарии 6 alexcon314 вне форума
listener

Пишем свою оболочку для FP под Windows. Шаг 5.

Запись от alexcon314 размещена 18.05.2011 в 18:03
Обновил(-а) alexcon314 20.05.2011 в 09:34
Advise Sink: cоветую утопиться.

Ну, вот. Похоже на то, что на этом шаге наши пути разойдутся. Если, конечно, они не разошлись раньше)). С хостом плеера более-менее разобрались. Осталось научить нашу оболочку общаться с плеером в духе «вопрос-ответ». Ну, и конечно, отдавать ему приказы. Как вы догадались, речь пойдет о взаимодействии оболочки и плеера через ExternalInterface. Видимо, это последнее, что можно отнести к «стандартным» знаниям об оболочке FP. Далее возможны варианты, ...
Старый
 
Размещено в Без категории
Комментарии 1 alexcon314 вне форума
listener

Пишем свою оболочку для FP под Windows. Шаг 4.

Запись от alexcon314 размещена 18.05.2011 в 11:08
Обновил(-а) alexcon314 18.05.2011 в 12:49
Без окон, без дверей....

Прозрачный (transparent) режим работы плеера по другому еще называется windowless («без-оконный»). В обычном «оконном» режиме плеер создает себе окошко и рисует себе.. уютно так, по-домашнему. В без-оконном режиме плеер пытается рисовать на всем, что ему дадут. Разницу улавливаете? Т.е. Нам самим придется позаботиться о том, чтобы предоставить плееру окно для отрисовки графики.
Это может быть обычное окно. Давайте попробуем, что выйдет, прямо в проекте ...
Старый
 
Размещено в Без категории
Комментарии 2 alexcon314 вне форума
listener

Пишем свою оболочку для FP под Windows. Шаг 3.

Запись от alexcon314 размещена 18.05.2011 в 00:39
Обновил(-а) alexcon314 18.05.2011 в 00:43
Загрузка swf из ресурсов.

Включаем construct.swf в ресурсы приложеения.
Код AS3:
//  test.rc 
ID_SWF   BIN "Construct.swf" 
// Resource.h
#define ID_SWF	500
В директорию проекта (рядом с test.vcproj) положим Construct.swf. Если в название другое, внесите соответственно правки.

Компилируем (F7). Все гладко? Ок. Вообще, настоятельно рекомендую в Resource.h располагать дефайны по-возрастающей.
Как нам его загрузить ...
Старый
 
Размещено в Без категории
Комментарии 6 alexcon314 вне форума
listener

Пишем свою оболочку для FP под Windows. Шаг 2.

Запись от alexcon314 размещена 17.05.2011 в 17:43
Обновил(-а) alexcon314 30.06.2011 в 11:43
Как и обещал, сегодня рассмотрим альтернативные способы подключения плеера к приложениию. Эти способы будут работать даже если плеер не установален (не зарегистрирован) на целевой машине.

Загрузка с диска.

Файл плеера Flash.ocx (версия не имеет значения) представляет из себя обычный PE-файл.
Проще говоря, это обычная DLL, которая экспортирует ряд функций. Однако есть и отличие: в этой библиотеке сидят не просто функции, там зашит класс, класс плеера.
...
Старый
 
Размещено в Без категории
Комментарии 0 alexcon314 вне форума
listener

Пишем свою оболочку для FP под Windows. Шаг 1.

Запись от alexcon314 размещена 17.05.2011 в 02:13
Обновил(-а) alexcon314 20.05.2011 в 09:36 (расцветка кода)
Сегодня не будет чего-то принципиально нового. Обговорим узловые моменты и сделаем проект с заделом на будущее.
[UPD]
Здесь можно посмотреть на методы ActiveX: http://www.adobe.com/support/flash/p...tingwithflash/

Легкое погружение в Windows-программирование.

Все примерно представляют, как выглядит пустой проект флеш-ролика в FD?
Напомню максимально упрощенно:
Код AS3:
package 
{
	import flash.display.Sprite;
...
Старый
 
Размещено в Без категории
Комментарии 10 alexcon314 вне форума
listener
Рейтинг: 5.00. Голосов: 2.

Пишем свою оболочку для FP под Windows. Шаг 0.

Запись от alexcon314 размещена 16.05.2011 в 01:42
Обновил(-а) alexcon314 17.04.2013 в 11:38
Эпиграф:.
Цитата:
- А не замахнуться ли нам, понимаете ли, на Вильяма нашего Шекспира?
- А что! И замахнемся!
Этой статьей, я начинаю цикл статей о том, как написать собственную оболочку для флеш-плеера. Да пребудет с нами сила!
Вступление.
Так вышло, что приоритетной темой для меня на форуме стала «Flash приложения». Речь идет о приложениях для десктопа, написанных «почти» на флэше. Т.е. об оболочках. Несомненно, такие продукты, как MDM Zinc, f-in-box, ...
Старый
 
Размещено в Без категории
Комментарии 12 alexcon314 вне форума
listener

ActiveX Flash Control Wrapper: наша оболочка.

Запись от alexcon314 размещена 26.04.2011 в 14:32
Обновил(-а) alexcon314 28.05.2012 в 13:00
Хочу представить написанный мной с нуля ехе-шник, в котором проигрывается флеш-ролик в "прозрачном" режиме. Цинк отдыхает). В ехе внедрен сам плеер и свф. Потому вес архива примерно 2 Мб. Ссылка.
UPD
Сорри. Добавлю, ролик, который воспроизводится ехе-шником, не мой). Автора не знаю. В любом случае, от меня ему поклон).
Старый
 
Размещено в Без категории
Комментарии 13 alexcon314 вне форума
listener

Сишные указатели в zinc-приложении.

Запись от alexcon314 размещена 19.04.2011 в 08:19
Одной из фич цинка является возможность динамически подключать в работу приложения библиотеки функций, написанных на с/с++. Речь идет о DLL- dynamic link library. DLL могут быт самописные, что дает в руки разработчика инструмент расширений. Но могут использоваться и готовые DLL, в т.ч. и системные, например, kernel32.dll, advpi32.dll, user32.dll и т.д. и т.п. В примерах к цинку, даже здесь на форуме, можно найти пример использования функции Beep() из kernel32. Еще примеры использования системных ...
Старый
 
Размещено в Без категории
Комментарии 0 alexcon314 вне форума
listener

Взаимодействие Zinc и .NET

Запись от alexcon314 размещена 19.04.2011 в 08:18
Есть замечательный mdm-класс mdm.DLL(). Он позволяет подключать к вашему приложению любые длл и работать с их экспортными функциями. Тем самым предоставляется возможность неограниченно расширять функционал вашего приложения. Однако в доках указывается одно существенное ограничение: этот класс может подключить только длл написанные на С++ в среде MS VisualStudio C++ или на Delphi. А как же .NET? Этот фреймворк заслуженно пользуется популярностью среди разработчиков и содержит массу полезностей. Писать ...
Старый
 
Размещено в Без категории
Комментарии 3 alexcon314 вне форума
listener

Zinc IDE (v. 2.3.0.34)

Запись от alexcon314 размещена 19.04.2011 в 08:15
Знакомимся с Zinc IDE.

(по материалам Zinc v2.5 Manual.chm)

IDE помогает вам настроить будущий проект, задать многие параметры приложения, не написав ни строчки кода. Настроек достаточно много. Ряд настроек позволяет работать с ними программно уже во время выполнения приложения (run time).

1.Главное меню.
Привычные пункты File, Settings, Help, BuyNow не вызывают вопросов.
В Edit единственный подпункт Preferences... По щелчку ...
Старый
 
Размещено в Без категории
Комментарии 1 alexcon314 вне форума
listener

Работа с окнами в Adobe AIR

Запись от alexcon314 размещена 19.04.2011 в 08:13
Автор: DarkLight

Базовые сведения, настройка основного окна приложения.

Одной из важнейших возможностей Adobe AIR является работа с окнами. Неслучайно во Flex AIR-приложения основываются на компоненте WindowedApplication: возможности среды исполнения в этой области достаточно широки: есть возможность создавать их в количестве, ограниченном лишь ресурсами системы, управлять их размерами и расположением, использовать как стандартные окна операционной системы, так и окна ...
Старый
 
Размещено в Без категории
Комментарии 0 alexcon314 вне форума
listener

Знакомство с mdm{Zinc}

Запись от alexcon314 размещена 19.04.2011 в 08:10
Обновил(-а) alexcon314 20.04.2011 в 07:34
Общие сведения.
Автор: alexcon314.

"Компания Multidmedia Limited (mdm) вышла на рынок ПО в 2002 году на позиции производителя дополнительных
средств разработки для Macromedia Flash. Наиболее известный из ее продуктов Zinc TM v2, стал к сегодняшнему дню
стандартом в разработке приложений на базе Flash - Rapid Application Development (RAD) based upon the Flash Format."
(по материалам с официального сайта).
Предназначение Zinc - конвертировать ...
Старый
 
Размещено в Без категории
Комментарии 0 alexcon314 вне форума
listener

Настройка AIR приложения во Flash

Запись от alexcon314 размещена 19.04.2011 в 08:07
Автор: screamge

Понадобится:
Flash CS3
AIR 2

После установки AIR на начальной страничке должна появится закладка.



Все настройки AIR хранятся в закладке Commands - Application and Installer settings



Настройка приложения

Выбор стиля окна. (Window Style) ...
Старый
 
Размещено в Без категории
Комментарии 1 alexcon314 вне форума
listener

AIR: Чтение из .txt и запись в .doc

Запись от alexcon314 размещена 19.04.2011 в 08:03
Автор: screamge

Работа с файлами и директориями.
Cтатья требует увереного знания AS3.

В AIR мы можем работать с файловой системой, а так же считывать текст из текстового документа, создавать и записывать. Для чего это может понадобиться решать вам, лично я использовал такую возможность для создания одного большого TODO листа. Часто видел у знакомых кучу текстовых документов с невнятными названия типа «Не ленись, прочти» , «А это гениальная идея» или «Обязательно ...
Старый
 
Размещено в Без категории
Комментарии 0 alexcon314 вне форума
listener

Знакомство с Adobe AIR

Запись от alexcon314 размещена 19.04.2011 в 07:54
Автор: screamge
Краткий обзор
Adobe® AIR™ , до недавнего времени Apollo — это межплатформенная среда исполнения (application runtime) которая позволяет использовать навыки Flash, Flex, HTML, JavaScript, Ajax разработчика для создания десктопных RIA приложений. Приложение может быть созданно при использовании связок:
Flash / Flex / ActionScript
HTML / JavaScript / CSS / Ajax
PDF может быть использован в любой из связок.


А результатом может ...
Старый
 
Размещено в Без категории
Комментарии 0 alexcon314 вне форума
listener

*.AIR Файлы : Взгляд изнутри

Запись от alexcon314 размещена 19.04.2011 в 07:52
Автор: DarkLight


Итак, наше AIR-приложение написано, отлажено, упаковано и готово для установки. Получился файл с логичным расширением .air . Что же он из себя представляет? По сути, это zip-архив, в чем легко убедиться:




Что же мы видим? А собственно, тут лежит наш основной swf файл,, а также все добавленные файлы ресурсов. Кроме того, обнаруживается еще несколько ...
Старый
 
Размещено в Без категории
Комментарии 0 alexcon314 вне форума
listener

Расширение проектора: Продолжение 8. Поддержка FP10.1

Запись от alexcon314 размещена 18.11.2010 в 11:39
Обновил(-а) alexcon314 13.12.2010 в 11:55
Плеер 10.1 напрочь отказался работать с оболочкой. Симптомы: любой метод возвращает undefined. После недолгих разбирательств
я установил, что прежде хорошо работавшие перехваты ReadFile() при обращении к шаредам, в 10.1 не катят. Что-то там сильно поломали и
перехват перестал работать. Возможно, функция ReadFile() стала импортироваться в коде динамически, на что есть и косвенные подтверждения.
Покрутившись и так, и сяк, перепробовав десяток других вариантов перехвата, я расстроился, ...
Старый
 
Размещено в Без категории
Комментарии 25 alexcon314 вне форума
listener
Рейтинг: 5.00. Голосов: 2.

asm-вставки в AS 3.0 (FP 10+)

Запись от alexcon314 размещена 31.10.2010 в 02:08
Обновил(-а) alexcon314 01.11.2010 в 09:12
Вздумалось мне покопаться в алхимии. Бывает.
Скачал cygwin, alchemy-sdk, скурпулезно выполнил замысловатые инструкции со странички Getting Started.
Надо ж.. скомпилился пример stringecho.swc и даже заработал! Тэкс.. Дальше посмотрел примеры либ от адоба.
Ммда.. скучновато, однако. Не,оно, конечно, по уму все вроде. Но...
Не воодушевившись, вобщем, портами сишных либ во флэшовый байткод, но пожалев потраченное время, я решил порыть вокруг.
И нашел.
Один ...
Старый
 
Размещено в Без категории
Комментарии 29 alexcon314 вне форума
listener
Рейтинг: 4.75. Голосов: 4.

Расширение проектора: Продолжение 7. Рабочая версия.

Запись от alexcon314 размещена 02.07.2010 в 11:22
Обновил(-а) alexcon314 13.12.2010 в 11:02
Выложил исходники, примеры, доки (AS2 и AS3).
Цитата:
Оболочка для стандартного флеш-проектора. Фичи:

- не требует установки никаких дополнительных компонент, в том числе и плеера (standalone application);
- обработка параметров запуска (cmdline parameters);
- стандартные диалоги;
- работа с файловой системой (в т.ч. и с сетевыми шарами, асинхронные операции);
- операции с файлами (read, write, seek);
- запуск сторонних приложений (в т.ч. расширенный
...
Старый
 
Размещено в Без категории
Комментарии 58 alexcon314 вне форума
listener

Расширение проектора: Продолжение 6. Работа с файлами.

Запись от alexcon314 размещена 21.06.2010 в 17:37
Переделал свои старые АС2 - примеры (окно выбора папки и окно выбора файлов) из под цинка на свой движок.
Добавил фичу - загрузку системных иконок, ассоциированных с типами файлов и запуск/открытие файлов.
Что касается АС3, написал простенький файл-менеджер "а-ля тотал-коммандер". Было интересно посмотреть. как мой двиг впишется в какой-нибудь сторонний фреймворк. В качестве такового выбрал ASwing A3 1.5.

ссылки на архивы с примерами
http://mdm-zinc.narod.ru/pub/files.zip ...
Старый
 
Размещено в Без категории
Комментарии 3 alexcon314 вне форума
listener
Рейтинг: 5.00. Голосов: 2.

Расширение проектора: Продолжение 5. Первое приложение.

Запись от alexcon314 размещена 24.02.2010 в 17:05
Обновил(-а) alexcon314 20.05.2010 в 15:26
Ничтоже сумняшеся, написал "блокнот" на флэше.
Что может программа:
-открывать, редактировать и сохранять текстовые файлы;
-сохранять настройки в реестре;
-можно передавать параметры в командной строке, а именно файл, который нужно открыть;
-стандартные хоткеи (Ctrl+S и т.д.)
Вобщем, почти полностью воспроизводит функционал обычного блокнота Windows.
Скачать скомпиленную программу можно здесь:
http://mdm-zinc.narod.ru/notepad.zip ...
Старый
 
Размещено в Без категории
Комментарии 23 alexcon314 вне форума
listener

Расширение проектора: Продолжение 4. Синхронные вызовы.

Запись от alexcon314 размещена 19.08.2009 в 12:41
Обновил(-а) alexcon314 19.08.2009 в 17:57
Мда.. перерывчик вышел долгонький. Но он того стоил.
В "Продолжении 2" я говорил о том, что реализация оболочки на основе только класса LocalConnection не позволяет осуществить синхронное выполнение АС-кода и кода оболочки.
Цитата:
Из сказанного видно, что наша оболочка обладает одной весьма важной и не очень приятной особенностью: команды, отсылаемые оболочке выполняются асинхронно с кодом, их пославшим, т.е. с АС-кодом.
.. и далее по тексту.
Но, кто ищет - тот найдет! ...
Старый
 
Размещено в Без категории
Комментарии 14 alexcon314 вне форума
listener

Расширение проектора: Продолжение 3. Заявленный функционал.

Запись от alexcon314 размещена 17.06.2009 в 15:25
Обновил(-а) alexcon314 17.06.2009 в 16:04
Итак, обзор классов оболочки в алфавитном порядке.
Acro
Просмотр пдф-файлов с помощью контрола Adobe Acrobat Reader в проекторе.
Опции: настройка внешнего вида области просмотра (тулбары, скролы и т.д), загрузка пдф с диска, из ресурсов, программное управление просмотром.
Console
Собственно, окно для вывода трэйсов проектора, дебуг-инфы оболочки.
Dialogs
Вывод стандартных диалогов: мессаджбоксы, "сохранить как", "открыть", "обзор ...
Старый
 
Размещено в Без категории
Комментарии 6 alexcon314 вне форума
listener

Расширение проектора: Продолжение 2. LocalConnection UP!

Запись от alexcon314 размещена 17.06.2009 в 12:02
Обновил(-а) alexcon314 18.06.2009 в 10:44
Итак, с инжектом разобрались. Теперь займемся LocalConnection.
В проекторе нам понадобится экземпляр класса ЛЦ. Инициалицировать коннект мы будем примерно таким образом:
Код:
var dll_url = "E" + Math.random();
var prj_url = "P" + Math.random();
dll_url = dll_url.split(".").join("");
prj_url = prj_url.split(".").join("");
var client = new LocalConnection();
client.connect(prj_url);
...
Старый
 
Размещено в Без категории
Комментарии 31 alexcon314 вне форума
listener

Расширение проектора: Продолжение 1. Inject.

Запись от alexcon314 размещена 09.06.2009 в 17:44
Обновил(-а) alexcon314 17.06.2009 в 10:57
Для начала изготовим файл flrunEx.ехе, который будет делать следующее:
-запускать на исполнение файл проектора;
-грузить к нему нашу длл-оболочку lcevt.dll.
Запускать проектор будем опционально. По умолчанию flrunEx.ехе запустит файл projector.exe, находящийся в одной папке с ним. Либо, если чем-то не устраивает расположение проектора или название "projector", можно сделать конфигурационный файл flrunEx.ini следующего содержания

Код:
[PROJECTOR]
path=<полный
...
Старый
 
Размещено в Без категории
Комментарии 0 alexcon314 вне форума
listener

Да здравствует стандартный проектор!

Запись от alexcon314 размещена 09.06.2009 в 11:54
Обновил(-а) alexcon314 20.05.2010 в 17:21
Да. Именно страндартный.
Что же в нем хорошего? По функционалу стремится к обычному вьюеру swf-файлов. Блеклый дизайн, никакой возможности чего-то поднастроить, поменять, а уж про взаимодействие с системой лучше и не заикаться... унылый fscommand не в счет.. То ли дело mdm Zinc или там еще что покруче, f-in-box, скажем.. Вот это свобода!
Тем не менее, у проектора есть два супердостоинства.

1. Вы можете свободно его распространять (продавать), как дистрибьютор, как разработчик ...
Старый
 
Размещено в Без категории
Комментарии 4 alexcon314 вне форума
listener

Запуск .bat без черного окна консоли.

Запись от alexcon314 размещена 12.05.2009 в 13:39
Обновил(-а) alexcon314 12.05.2009 в 15:29
Невесть что, но тем не менее. При использовании fscommand для запуска бат-файлов из стандартного проектора вываливается черное окно консоли, что не очень приятно.
Написал ехе-шник, который читает команды из отдельного файла bat.ini и запускает на выполнение без черного окна.
Например, стандартное применение
Код:
fscommand("exec", "start.bat");
и
Код:
start ..
start http://flasher.ru
в бат-файле.
Теперь можно так:
Код:
fscommand("exec",
...
Старый
 
Размещено в Без категории
Комментарии 3 alexcon314 вне форума

 


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


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