![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Все тот же ActiveX....
Nick Denry © (2005-08-07 20:50:00)Подскажите пожалуйста, как проверить, что ActiveX интерфейс (или контрол, например Windows media Player или Microsft Character Agent) существует в системе до попытки его создания?
С уважением, Nick Denry.
Nick Denry (2005-08-11 21:58:00) [1]Все же UP
Nick Denry (2005-08-08 18:14:00) [2]Я имел ввиду упрощения их использования, т.е. как в случае с Windows Media Player, т.е. после импорта ActiveX контрола и перетаскивания его на форму его уже ожно полноценно использовать (если он установлен в системе, но ведь в системе где такого контрола нет, мое приложение будет работать неверно).
В случае же с динамическим созданием ActiveX контрола, я, получается , выполню ткую же работу, как и создание его без использования VCL, ведь в таком случае, как я понял обработку событий необходимо будет делать так же самостоятельно?
Вообщем-то передо мной стоит такая задача:
Определить, установлен ли в системе контрол (ну и сам плеер) Windows Media серии 9, и если нет, то использовать как альтернативу TMediaPlayer;
just_me (2005-08-08 16:13:00) [3]в таком случае мне не очень понятно, что означает "упрощения создания ActiveX элементов"
Nick Denry (2005-08-08 15:14:00) [4]just_me,
Хм, спасибо за ответ, но я хотел использовать VCL для, собственно говоря, упрощения создания ActiveX элементов.
Я думаю, вы сталкивались с такой постановкой вопроса:
не проще ли в таком случае реализовать все это на Api при омощи интерфесов IOLeControl, IOleControlSite и т.д.
Поделитесь пожалуйста, если у вас есть какие либо соображения/документация по этому поводу.
(если можно на русском и в Delphi, а то MSDN переводить в таких объемах все-таки тяжко) :(
just_me (2005-08-08 15:06:00) [5]Тут - епоследний параграф:
http://www.compress.ru/Article.asp?id=3098
Nick Denry (2005-08-08 15:03:00) [6]Впрочем, контрол не меняет свой размер.
just_me, я не нашел ваш ответ по теме на форуме
Nick Denry (2005-08-08 15:00:00) [7]А почему ж тогда контрол на форма отобразился, т.е. :
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';
???
just_me (2005-08-08 14:58:00) [8]нет, не это
Nick Denry (2005-08-08 14:30:00) [9]К сожалению именно вашего ответа я не нашел, но верно-ли это:
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1111136854&n=8
(у меня заработало)?
just_me (2005-08-08 14:15:00) [10]ActiveX контролы динамически создаются более сложным образом - дополнительно нужно создать VCL-контейнер, куда он будет помещаться. Недавно отвечал на этот вопрос - поищите по форуму
Nick Denry (2005-08-08 13:57:00) [11]Да, я думаю, это то что надо, но все=же объяснюсь несколько поднобнее.
Есть необходимость добавить в приложение 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';
То по-чему-то контрол звук проигрывает, а на форме не отображается. Почему?
GanibalLector (2005-08-07 23:20:00) [12]CLSIDFromProgID ???