Форум: "Corba";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
ВнизВсе тот же ActiveX.... Найти похожие ветки
← →
Nick Denry © (2005-08-07 20:50) [0]Подскажите пожалуйста, как проверить, что ActiveX интерфейс (или контрол, например Windows media Player или Microsft Character Agent) существует в системе до попытки его создания?
С уважением, Nick Denry.
← →
GanibalLector © (2005-08-07 23:20) [1]CLSIDFromProgID ???
← →
Nick Denry © (2005-08-08 13:57) [2]Да, я думаю, это то что надо, но все=же объяснюсь несколько поднобнее.
Есть необходимость добавить в приложение Windwows Media Plaeyr 9,
который существует лишь в Win2000 и выше, причем в 2000ке, как известно он не установлен по умолчанию, так вот как мне проверить, что даный ActiveX элемент существует, а затем создаеть его экземпляр у себя, либо попросить пользователья этот самый элемент поставить?
Почему-то, если я перетаскиваю контрол на форму -то все создается и отображается, но если я создаю контрол след. образом:
...................
var
wmp : TWindowsMediaPlayer;
...............................\
(Допустим, на Form1.create):
wmp := TWindowsMediaPlayer.Create(self);
wmp.Top := 10;
wmp.Left := 10;
wmp.Width := 400;
wmp.Height := 400;
wmp.Visible := true;
wmp.URL := "f:/vrock.mp3";
То по-чему-то контрол звук проигрывает, а на форме не отображается. Почему?
← →
just_me (2005-08-08 14:15) [3]ActiveX контролы динамически создаются более сложным образом - дополнительно нужно создать VCL-контейнер, куда он будет помещаться. Недавно отвечал на этот вопрос - поищите по форуму
← →
Nick Denry © (2005-08-08 14:30) [4]К сожалению именно вашего ответа я не нашел, но верно-ли это:
http://delphimaster.net/view/10-1111136854/
(у меня заработало)?
← →
just_me (2005-08-08 14:58) [5]нет, не это
← →
Nick Denry © (2005-08-08 15:00) [6]А почему ж тогда контрол на форма отобразился, т.е. :
wmp := TWindowsMediaPlayer.Create(self);
wmp.Parent := self; - новая строка кода
wmp.Top := 10;
wmp.Left := 10;
wmp.Width := 400;
wmp.Height := 400;
wmp.settings.volume := 100;
wmp.Visible := true;
wmp.URL := "f:/vrock.mp3";
???
← →
Nick Denry © (2005-08-08 15:03) [7]Впрочем, контрол не меняет свой размер.
just_me, я не нашел ваш ответ по теме на форуме
← →
just_me (2005-08-08 15:06) [8]Тут - епоследний параграф:
http://www.compress.ru/Article.asp?id=3098
← →
Nick Denry © (2005-08-08 15:14) [9]just_me,
Хм, спасибо за ответ, но я хотел использовать VCL для, собственно говоря, упрощения создания ActiveX элементов.
Я думаю, вы сталкивались с такой постановкой вопроса:
не проще ли в таком случае реализовать все это на Api при омощи интерфесов IOLeControl, IOleControlSite и т.д.
Поделитесь пожалуйста, если у вас есть какие либо соображения/документация по этому поводу.
(если можно на русском и в Delphi, а то MSDN переводить в таких объемах все-таки тяжко) :(
← →
just_me (2005-08-08 16:13) [10]в таком случае мне не очень понятно, что означает "упрощения создания ActiveX элементов"
← →
Nick Denry © (2005-08-08 18:14) [11]Я имел ввиду упрощения их использования, т.е. как в случае с Windows Media Player, т.е. после импорта ActiveX контрола и перетаскивания его на форму его уже ожно полноценно использовать (если он установлен в системе, но ведь в системе где такого контрола нет, мое приложение будет работать неверно).
В случае же с динамическим созданием ActiveX контрола, я, получается , выполню ткую же работу, как и создание его без использования VCL, ведь в таком случае, как я понял обработку событий необходимо будет делать так же самостоятельно?
Вообщем-то передо мной стоит такая задача:
Определить, установлен ли в системе контрол (ну и сам плеер) Windows Media серии 9, и если нет, то использовать как альтернативу TMediaPlayer;
← →
Nick Denry © (2005-08-11 21:58) [12]Все же UP
Страницы: 1 вся ветка
Форум: "Corba";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.04 c