Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.24;
Скачать: CL | DM;

Вниз

Все тот же 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://predskazanie-wunschpunsch.ru/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 вся ветка

Текущий архив: 2006.09.24;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.047 c
9-1134713252
4ECHOK
2005-12-16 09:07
2006.09.24
[SIS и GLScene] Пропали DummyCube.


4-1148487663
GrBob
2006-05-24 20:21
2006.09.24
Как службой поймать момент подключения пользователя


2-1157548945
learner
2006-09-06 17:22
2006.09.24
Размер динамического массива


1-1155388106
apic
2006-08-12 17:08
2006.09.24
TListView


15-1157101383
Gorlum
2006-09-01 13:03
2006.09.24
Ну и нафига они это сделали