Как в тлб переопределить имена всех методов и свойств класса

Для неординарных вопросов. Если вы опытный программист, попавший в трудную ситуацию, — вам сюда.

Модератор: gaidar

Правила форума
Этот раздел не предназначен для того, чтобы вы адресовали свою проблему профессионалам.
Этот раздел предназначен для профессионалов, которые столкнулись с проблемой и не могут решить ее самостоятельно.
Если вы считаете себя профессионалом, а свою проблему сложной — вам сюда.
Если модератор посчитает, что вы ошиблись, то на первый раз он перенесет ваше сообщение в основной раздел без последствий для автора. Во второй раз тема будет закрыта, а автору будет выписано нарушение. В третий раз автор будет забанен.
arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Как в тлб переопределить имена всех методов и свойств класса

Сообщение arthur2 » 09.04.2019 (Вт) 10:40

Не знаю уж, на сколько сложный и неординарный вопрос :) Перенесите, если чё :oops:

Есть класс внутри длл с неким набором свойств и методов. За весь набор, само собой, отвечает тлб внутри длл.

Вопрос: можно ли, ничего не меняя в исходной библиотеке, подключить к проекту другую тлб, в которой бы все имена исходного класса были бы переопределены.

Скажем, в исходном классе есть метод cSomeThing.lalala

Подключаем к проекту нашу условную тлб, и получаем кНечто.лалала, которое будет вызывать как раз исходное cSomeThing.lalala
Артур
 
   

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

Re: Как в тлб переопределить имена всех методов и свойств кл

Сообщение Хакер » 09.04.2019 (Вт) 17:55

Естественно можно: достаточно лишь совпадения CLSID-ов и IID-ов, dispid-ов, а также порядка следования членов.

Однако, из двух способов работы позднего связывания:
  • По DispId-у
  • По имени
,
второй при таком трюке работать перестанет.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: Как в тлб переопределить имена всех методов и свойств кл

Сообщение arthur2 » 09.04.2019 (Вт) 23:59

Тлб скомпилировалась. Но бейсик подключать её отказался. А оле-вьюер молча вывалился. Может, они не переваривают русских букв?
Артур
 
   

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

Re: Как в тлб переопределить имена всех методов и свойств кл

Сообщение Хакер » 10.04.2019 (Ср) 7:13

arthur2 писал(а):Тлб скомпилировалась. Но бейсик подключать её отказался.

С какой формулировкой?
LibId должен отличаться от чего-то уже существующего.

Русские буквы не должны быть проблемой.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: Как в тлб переопределить имена всех методов и свойств кл

Сообщение arthur2 » 10.04.2019 (Ср) 8:03

Скомпилировалось без всяких формулировок :)

Поменял первую uuid - Уау! Всё заработало! Бинго :D :D

Спасибо огромное!
Артур
 
   


Вернуться в Раздел для Профессионалов

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

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

    TopList