Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - помогите: как использовать COM-технологию?

Ответить
Настройки темы
Разное - помогите: как использовать COM-технологию?

Пользователь


Сообщения: 136
Благодарности: 0

Профиль | Отправить PM | Цитировать


Проблема состоит в том, что есть некое внешнее устройство, подключённое через USB, и есть библиотеки dll к нему (без заголовочных h-файлов!), причём в иструкции написано, что "Модули расширения являются COM объектами". Скажите, каким образом эти библиотеки можно подключить к своей программе?

Отправлено: 20:29, 28-11-2007

 

Пользователь


Сообщения: 136
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата ivank:
Зарегистрируйте эти dll в системе и посмотрите, нет ли в них typelib'ов внутри. С помощью тулзы вроде этой: http://www.aivosto.com/activexplorer.html »
К сожалению, зарегить не получается, а внешних tlb файлов к ним не прилагается. regsvr32 выдаёт следующую ошибку:
Цитата:
LoadLibrary("111.dll") failed - The specified module could not be fount.
Значит ли это, что в данном файле находится com-компонент или, наоборот, не находится? Так, например, для всех прочих dll-файлов выдаёт отличное сообщение:
Цитата:
cw.dll was loaded, but the DllRegisterServer entry point was not found. This file can not be registered.
АctiveXplorer их не открывает. Как можно узнать, какие объекты находятся в dll-файле (нужны их имена для вызова в случае, если удастся зарегить)?

Вообще, всегда ненавидел подобные майкрософтские задрючки, но производители девайса вдруг посчитали, что com-технология проще в использовании, чем обычные dll-ки. Теперь вот приходится разбираться что к чему.

Отправлено: 20:10, 05-12-2007 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 136
Благодарности: 0

Профиль | Отправить PM | Цитировать


Ситуация немного изменилась. Нашелся dll-файл, который был зарегин в системе и com-объект был подключён, однако для работы железа этого оказалось недостаточно (object выдаёт неизвестную ошибку).
Поэтому вопрос, может кто знает, как по бинарному содержимому файла dll определить, какие ещё дополнительные dll-библиотеки (с дровами) нужны для нормальной его работы и в какой каталог эти библиотеки надо закидывать. Пишу эти идиотские вопросы, потому что ранее с dll дела не имел и не собирался иметь, даже не знаю, для чего они нужны. -)

Отправлено: 15:06, 06-12-2007 | #12


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Но хачу вам всем сказать что эти функций этой програмы можит быть недаступна смотря какая у вас система на компе, чтобы С++ но я делал через прогу Autoit3 Я писал сам скрипт что бы он выполнял команды. вот и всё

Отправлено: 02:55, 07-12-2007 | #13


редкий гость


Сообщения: 1696
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


zl3p, Зависимости dll можно посмотреть с помощью PE Explorer или подобных программ. Но это не спасёт, если ддка подгружается динамически (чего, правда как правило не делают). И в случае зависимостей от дров тоже не поможет: драйверы (настоящие - системные) используются с помощью посредника в виде апи операционной системы, которое в системе присутствует всегда, но железку тем не менее вполне может не видеть.

Цитата zl3p:
Нашелся dll-файл, который был зарегин в системе и com-объект был подключён, однако для работы железа этого оказалось недостаточно (object выдаёт неизвестную ошибку). »
В какой момент? В момент создания ком-объекта, или уже при использовании?

И вообще, распространять голую длл к непонятной нестандартной железке без всякой документации и примеров, это как минимум свинство.

-------
http://ivank.ru


Отправлено: 00:43, 11-12-2007 | #14


Пользователь


Сообщения: 136
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата ivank:
В какой момент? В момент создания ком-объекта, или уже при использовании? »
при использовании.
Наверное, я предполагаю, что дело в том, что я не могу выполнить файл "Pluginps.mk", т.е. получить нужный мне dll proxy/stub.
Короче, я понял, какой плохой этот Visual Studio. В нём ничего не возможно скомпилировать до конца, чтоб не выдало ошибок.
Код: Выделить весь код
 dlldata.c(16) : fatal error C1034: rpcproxy.h: no include path set
Причём, заметься, код НЕ Я писал.

Вот, например, [начиная разбираться с самого начала] составил, как в примере по COM, файл server.idl:
Код: Выделить весь код
improt "unknwn.idl"
[
	object,
	uuid(32bb8356-b41b-11cf-a6bb-0080c7b2d682),
	helpstring("IX Interface"),
	pointer_default(unique)
]
interface IX : IUnknown
{
	HRESULT FxStringIn([in, string] wchar_t* szIn);
	HRESULT FxStringOut([out, string] wchar_t** szOut);
};
Начнём с того, что программа midl из текущей дириктории не доступна (правильно, ведь это вам не линукс). Но даже если указать полный пусть, типа "F:\BC5\SDKTOOLS\midl.Exe" server.idl, то всё заканчивается ошибкой:
Цитата:
command line error MIDL1005 : cannot find C preprocessor cl.exe
и меня это уже начало раздражать...

Отправлено: 00:51, 14-12-2007 | #15



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - помогите: как использовать COM-технологию?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Memtest-как использовать? Bren74 Хочу все знать 27 09-08-2013 13:33
[решено] Программы для обработки видео, использующие технологию CUDA SashaKl Видео и аудио: обработка и кодирование 1 01-07-2009 13:59
Прочее - 1,5 километра между серваками нужна 100 м\с подскажите технологию troin Сетевое оборудование 2 29-09-2008 09:42
Как использовать УЖЕ УСТАНОВЛЕННЫЕ Vikfil Автоматическая установка Windows 2000/XP/2003 1 08-10-2005 14:13
как использовать апач? libricon Общий по Linux 38 30-11-2004 19:49




 
Переход