Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.48 MB
Время: 0.05 c
3-1153733799
Alex Bakulin
2006-07-24 13:36
2006.09.24
dbExpress. Создание редактируемого набора данных в runtime


4-1148280287
Чапаев
2006-05-22 10:44
2006.09.24
PID -> ExeName


15-1157651419
Real
2006-09-07 21:50
2006.09.24
MIRANDA - погодный плагин


1-1155143860
Handle
2006-08-09 21:17
2006.09.24
Вопрос про SysListView.


1-1155201044
Mandragor
2006-08-10 13:10
2006.09.24
Работа с MDI приложениям





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский