Главная страница
    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.47 MB
Время: 0.04 c
2-1157438380
nstur
2006-09-05 10:39
2006.09.24
Как определить размер текста в TMemo


10-1123447573
r4dx
2005-08-08 00:46
2006.09.24
TWebBrowser и AutoSize


2-1157617630
newbie2
2006-09-07 12:27
2006.09.24
Как объект передать через интовую переменную?


15-1156673575
Evgheni86
2006-08-27 14:12
2006.09.24
Ассемблер в Delphi


15-1157462920
stud
2006-09-05 17:28
2006.09.24
народ а аська работает??





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский