COM, регистрация и проблемы с клонами объектов.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Thyeadeschatarr
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 4
Зарегистрирован: 18.09.2008 (Чт) 8:26

COM, регистрация и проблемы с клонами объектов.

Сообщение Thyeadeschatarr » 09.10.2008 (Чт) 10:50

Здравствуйте!
Прошлый раз мне здесь здорово помогли, надеюсь и на этот раз )

Есть у меня библиотечка COM-объектов (моя на VB6, содержит в себе тулбар и четыре инструмента на нем), она подключается к чужому продукту (ArcGIS) через Customize interface - add from file. Проблема в следующем: у меня на машине после очередной компиляции из списка тулбаров в ArcGISе она пропадает, добавляю как обычно и все работает, а на другой машине после замены старой версии dll на новую в списке тулбаров висит мой тулбар, но не включается, а при добавлении из файла появляется еще один с тем же именем.
Я прозреваю, что это как-то связано с UIDами, которые, видимо, заново генерируются при каждой компиляции. Подскажите, как их закрепит за объектами раз и навсегда?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: COM, регистрация и проблемы с клонами объектов.

Сообщение tyomitch » 09.10.2008 (Чт) 11:08

Project, Properties, Component, Version Compatibility, Binary Compatibility
+Размещение топика вызывает сомнения.
Изображение

Thyeadeschatarr
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 4
Зарегистрирован: 18.09.2008 (Чт) 8:26

Re: COM, регистрация и проблемы с клонами объектов.

Сообщение Thyeadeschatarr » 09.10.2008 (Чт) 12:48

Спасибо. С разделом действительно косячнул. Главное, была даже какая-то логическая цепочка, объясняющая, почему именно сюда, а не туда, но сейчас я ее восстановить не могу )
[Viper] :: Перенес.

Resident
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 17
Зарегистрирован: 04.07.2006 (Вт) 15:04
Откуда: г. Казань

Re: COM, регистрация и проблемы с клонами объектов.

Сообщение Resident » 10.10.2008 (Пт) 19:05

tyomitch писал(а):Project, Properties, Component, Version Compatibility, Binary Compatibility
+Размещение топика вызывает сомнения.


Пожалуйста если не трудно не могли бы Вы рассказать более подробно о "Version Compatibilit". Посмотрел в MSDN не совсем понимаю.
С Увыжением "Resident"

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: COM, регистрация и проблемы с клонами объектов.

Сообщение tyomitch » 10.10.2008 (Пт) 19:17

Что конкретно вызывает затруднения?
Изображение

Resident
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 17
Зарегистрирован: 04.07.2006 (Вт) 15:04
Откуда: г. Казань

Re: COM, регистрация и проблемы с клонами объектов.

Сообщение Resident » 10.10.2008 (Пт) 19:35

Возникала ситуация когда например имеется DDL написанная на VB и подключаемая к проекту в референсах (без использования CreateObject). Но если данную библиотеку обновить и перекомпилировать то приходится ее по-новому регистрировать ее в системе. То о чем Вы писали выше это выход из положения или я не правильно все понимаю?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: COM, регистрация и проблемы с клонами объектов.

Сообщение Хакер » 10.10.2008 (Пт) 20:00

Resident писал(а):имеется DDL написанная на VB

DDL, это так наверное нынче называют dll-ки?

и подключаемая к проекту в референсах (без использования CreateObject).

Почти все заблуждаются: противопоставляют References и CreateObject. На самом деле, это вещи никак не связанные и никак не взаимоисключающие друг-друга.

Противопоставлять можно References и использование типа [As Object]. Противопоставлять можно CreateObject и использование оператора New.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: COM, регистрация и проблемы с клонами объектов.

Сообщение Debugger » 10.10.2008 (Пт) 20:04

Вопрос в тему: почему когда я создаю в проекте ActiveX DLL модуль, пишу там функции через Public Sub, потом компилирую библиотеку, подключаю ее к проекту и НЕ вижу модуль в ObjectBrowser?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: COM, регистрация и проблемы с клонами объектов.

Сообщение Хакер » 10.10.2008 (Пт) 20:11

Потому что функции, расположенные в модулях, по канонам COM нужно было бы экспортировать. В VB от этого преднамернно отказались из соображений безопасности.

FNDLL-2 должен был наделять VB именно таким поведением, какое тебе хочется и кажется очевидным, но по-видимому, FNDLL-2 в ближайший код развиваться не будет, ибо FNDLL-1 показал, что это вообще мало кому надо, а времени у меня нет.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Resident
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 17
Зарегистрирован: 04.07.2006 (Вт) 15:04
Откуда: г. Казань

Re: COM, регистрация и проблемы с клонами объектов.

Сообщение Resident » 10.10.2008 (Пт) 21:44

Хакер как Вас понимать «DLL,это так наверное нынче называют dll-ки» Я понимаю что DLL на VB (COM) это далеко не kernel32.dll(натив) и это мне понятно. Но все-таки в проекте это DLL . Хакер я Вас уважаю как специалиста высокого уровня. Но Ваши супер ответы человека не сведущего в нужном его вопросе порой в полный ступор.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: COM, регистрация и проблемы с клонами объектов.

Сообщение Хакер » 10.10.2008 (Пт) 21:56

Resident писал(а):Хакер как Вас понимать «DLL,это так наверное нынче называют dll-ки» Я понимаю что DLL на VB (COM) это далеко не kernel32.dll(натив) и это мне понятно.

А мне, вот, непонятно, что все эти предложения означают. И почему в цитате DLL, тогда как я писал DDL. Я писал именно для того, чтобы показать на непонятное мне DDL.

Но все-таки в проекте это DLL.

Ээ... К чему "но всё-таки"? Я разве утверждал обратное, чтобы было "но всё-таки"?

Но Ваши супер ответы человека не сведущего в нужном его вопросе порой в полный ступор.

Вновь не понял :(
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Resident
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 17
Зарегистрирован: 04.07.2006 (Вт) 15:04
Откуда: г. Казань

Re: COM, регистрация и проблемы с клонами объектов.

Сообщение Resident » 10.10.2008 (Пт) 22:13

Прошу прощения за не правильную формулировку.
Я имел введу что Ваши ответы зачастую многим не понятны в силу не знания многих тонкостей(системы, программирования и т.д.) Что касается “DDL” это всего лишь описка. А что касается моего вопроса Вы сможете ответить?

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: COM, регистрация и проблемы с клонами объектов.

Сообщение Antonariy » 11.10.2008 (Сб) 12:24

Resident писал(а):Возникала ситуация когда например имеется DDL написанная на VB и подключаемая к проекту в референсах (без использования CreateObject). Но если данную библиотеку обновить и перекомпилировать то приходится ее по-новому регистрировать ее в системе. То о чем Вы писали выше это выход из положения или я не правильно все понимаю?
Если параметры существующих публичных членов менялись или удалялись сами члены, то нет, это не выход. Если публичные члены только добавлялись или менялась только внутренняя логика, то выход.
Лучший способ понять что-то самому — объяснить это другому.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 59

    TopList