Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 262
от 16.04.2006, 11:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 143, Экспертов: 26
В номере:Вопросов: 1, Ответов: 2


Вопрос № 39967: Такой вопрос: как можно подключать компоненты (те, что в References указываются) программно? То есть имеется два компьютера: на одном установлен голосовой движок, на другом нет. Пользователь сам выбирает пользуется он голосовым движком или нет, соотв...

Вопрос № 39.967
Такой вопрос: как можно подключать компоненты (те, что в References указываются) программно? То есть имеется два компьютера: на одном установлен голосовой движок, на другом нет. Пользователь сам выбирает пользуется он голосовым движком или нет, соответственно компонент подключается или нет. Нужно чтобы на втором ПК не выскакивала ошибка о ненайденом компоненте
Решение установить движок на втором ПК не пройдёт, т.к. их не два, программа должна быть универсальной, да и лень просто.
Отправлен: 11.04.2006, 11:15
Вопрос задал: Чилин Андрей Иванович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: EPDSota
Здравствуйте, Чилин Андрей Иванович!

Может поможет переопределение ошибки:

"On error goto ..."
---------
Открыть глаза навстречу солнцу
Ответ отправил: EPDSota (статус: Специалист)
Ответ отправлен: 11.04.2006, 18:24

Отвечает: Залетин Виталий Викторович
Здравствуйте, Чилин Андрей Иванович!
Выход в использовании таких вещей:

Dim objSound as Object

on error goto next
set objSound=CreateObject("Sound.Object")
if err then
'Ошибка создания объекта - либо неправильная регистрация, либо нет такого объекта в системе
End If

Далее по тексту программы перед использованием объектной переменной проверять ее на Nothing:
If not objSound is Nothing Then
'Делаем чегото там со звуком
End If

При таком раскладе нужный Вам объект можно вообще не подключать ч/з References. Я так делаю в своей проге на работе с отчетами: получается расширяемая программа (по типу плагинов) - добавляю в систему нужную ДЛЛку, регистрирую ее, потом в нужном каталоге ищу все файлы ДЛЛ и составляю список их (тут надо, чтоб имя файла имело то же имя, что и название проекта Вашего в процессе разработки и один класс имел какое-либо общее имя, которое будут использовать для вторжения извне) и все. Правда тут недостаток один: надо знать все методы и свойства объекта и отказаться от событий - тогда все покатит. В Вашем случае можно на этапе проектирвания подключить объект как обычно, но потом убрать ссылку на объект и описать все работающие с ним объектный переменные как Object. От событий, увы, прийдется отказаться.
---------
Учиться никогда не поздно. Особенно программированию!
Ответ отправил: Залетин Виталий Викторович (статус: Студент)
Ответ отправлен: 15.04.2006, 14:52


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.30 (beta) от 09.04.2006
Яндекс Rambler's Top100

В избранное