|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Guid и DLL - туплю как цапля
Народ, подскажите плиз. есть у меня dll'ка от стороннего разраба все функции известны и достучаться до них через external 'ABC.DLL' не проблема, однако к ней будет обращаться не одна порога и таскать её (DLL) в каждой из прог не охото, слышал что можно зарегать её в системе с неким guid и обращаться к ней через него. Три дня убил куря гугл, но так и не въехал как это можно сделать, буду признателен за любую помощь. Спасибо!
|
#2
|
||||
|
||||
Под GUID (он же UUID, CLSID) нужно наново библиотеку собирать под классы, это ведь COM`вская фича, требуется интерфейсная табличка и такое с путями самой dll не связано - ложите её в "свою" системную подпапку при первой установке программноного продукту (любого), оттудова и будет загрузка происходить, а из других проверяйте, есть ли такая по известному пути, есть - работаем, если нет, то установить предварительно
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
firewex (13.02.2018)
|
#3
|
|||
|
|||
Т.е. если я правильно понял guid определяется самой библиотекой и если это не предусмотрено разрабом остаётся обращаться к ней "по классике"?
|
#4
|
||||
|
||||
Да можно как угодно обзывать "указатель на интерфейс того интерфейса", но если самой dll на машинке нет, то это всё бесполезно
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#5
|
|||
|
|||
Не я к тому что допустим библиотеку я скинул в энную папку и знаю как вызвать её функции, но зарегать её с guid'ом все равно не выйдет если в библиотеке только возврат функций без com интерфейса?
|
#6
|
||||
|
||||
Цитата:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
firewex (13.02.2018)
|
#7
|
|||
|
|||
Ну, в принципе ничто не мешает написать еще одну свою dll, в которой просто реализовать соотв. интерфейс, а методы просто "перенаправить" на оригинальную либу. Работы не так уж и много, если типы параметров COM-совместимы. Если не совместимы, то для каждого метода надо будет их перекодировать в методах обертки, что тоже, в принципе, не так уж и сложно.
|
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
firewex (14.02.2018)
|