|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.01.2008, 19:21 | #1 |
Регистрация: 18.01.2008
Сообщений: 4
|
интеграция flash.ocx
Здраствуйте.Большая просьба не пинать знаю что этот вопрос наверняка обсуждался на многих форумах, но найти ничего конкретного так и не смог, везде предлагают компонент TFlashPlayerControl, который стоит денег .
Вопрос следующий: Имеем програмное обеспечение написанное на делфи с интерфейсом в виде флэш-ролика. Как можно интегрировать flash.OCX в прогу (желательно в качестве ресурса, но подойдет и вариант рядом с exeшником его положить), чтобы его функциями можно было пользоваться в проекте независимо от того какая версия флеш-плеера установлена в системе. Буду благодарен за любые ответы и ссылки по данному вопросу. |
18.01.2008, 19:52 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Мой любимый хэлп Дельфей, смотрим "Using the Import ActiveX dialog"...
|
19.01.2008, 14:24 | #3 |
Регистрация: 18.01.2008
Сообщений: 4
|
Возможно я не совсем корректо объяснил ситуацию, но меня интересует интеграция файла flash.ocx именно в приложение, а не импортирование активХ в делфи.
Просто возникает такая проблема: если на компе более новая версия этого файла (н-р: flash9e.ocx), то данные из приложения во флеш-ролик не передаются, т.е. SetVariable перестает работать. |
21.01.2008, 00:51 | #4 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Оригинально. Я думал, вы меня поймете.
Окромя VCL, дельфи может использовать все возможности операционной системы, не так ли? А вот дабы избежать проблемы более новых версий используемых системой компонентов вам и нужно использовать именно ссылки на них. И то - это не гарантия... Извините, но если вы стали использовать новую версию винды, у которой изменились адреса вызовов каких-либо апишных функций... Вы к кому аппелировать будете - к Майкрософту? Увы, участь программиста незавидна - ему все все время приходится подстраиваться под изменения среды, ддя которой его программы разрабатываются. От этого никуда не денешься. (Ну только если разработать свою, более привлекательную, нежели Windows, операционку, что, опять-таки "УВЫ" - нереально (уж слишком все привыкли...)). Я, невзирая на более, чем 20-летний опыт работы в области программирования, за это не возьмусь (прошел, знаете ли, период, когда "я все могу, только скажите - что нужно-то?") Именно поэтому приходится делать ссылки... А там - как бог пошлет... Увы, другой, более эффективный способ, мне неведом... Буду весьма рад, если молодые коллеги меня не то чтобы опровергнут, но подправят... Очень надеюсь, ибо на нашем форуме светлых голов ох, как хватает! Последний раз редактировалось mihali4; 21.01.2008 в 00:55. |
21.01.2008, 08:40 | #5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ух, Михалыч, тя понесло...
По теме: мне кажется что луче будет перевести флеш-ролик в экзешник и запускать его как "стороннее приложение". При необходимости можно даже вклеить его окно в свою форму после запуска, а насчет импорта, тут ИМХО без него не обойтись, разве что делать это програмно, жаль что не помню точно как это но погуглив можно найти об этом статью. Вот тут повспоминал: мол мона загружать ОСХ через LoadLibrary и вызвать из нее DllGetClassObject с GUID-ом необходимого класса. Ну еще CoCreateInstance() должно помочь
I'm learning to live...
Последний раз редактировалось Stilet; 21.01.2008 в 08:58. |
24.01.2008, 15:17 | #6 |
Регистрация: 18.01.2008
Сообщений: 4
|
|
24.01.2008, 22:01 | #7 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Не берусь гарантировать 100% результат (вдруг конфликты обнаружатся?).
Но ведомый мне вариант "рядом" таков: Код:
Можете развить тему и предусмотреть в своей программе поиск самой новой версии на ShockwaveFlash Правда, отдельный вопрос - как его "доставать" из инсталлятора... Второй вариант - в ресурсах. На примере связанной пары: Пишем простой текстовик с именем flash.rc: SHOCKWAVEFILE RCDATA myfile.swf SHOCKWAVEOCX RCDATA swflash.ocx и компилируем его во flash.res. Дальше - больше: Код:
Последний раз редактировалось mihali4; 24.01.2008 в 22:46. |
26.01.2008, 11:18 | #8 |
Регистрация: 18.01.2008
Сообщений: 4
|
To mihali4:
Большое спасибо. А перед регистртрацией flash.ocx нужно отменять регистрацию flash9e.ocx? Еще один вопрос: После обновления флеш-плеера, в Делфи не удается импортировать старый активХ компонент, т.е. заходим в Component-> Import ActiveX Control и пытаемся переустановить ShockwaveFlash...Ничего не выходит он даже удалятся не хочет. Чего делать? Последний раз редактировалось cartman315; 26.01.2008 в 12:57. |
21.06.2010, 14:02 | #9 |
Пользователь
Регистрация: 03.06.2010
Сообщений: 19
|
Можно как-нибудь обойти регистрацию в реестре? Ведь может не быть прав это сделать?
|
21.06.2010, 14:34 | #10 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
интеграция с MS WORD | BESS | Общие вопросы Delphi | 4 | 05.08.2008 12:42 |
Интеграция сайта с платежной системой (PHP) | AndreyAndrey | Фриланс | 1 | 02.11.2007 01:41 |
Access и Delphi? Интеграция БД №1 | Archie | БД в Delphi | 3 | 28.03.2007 23:16 |