Можно ли в TLB сделать иерархию?

Обсуждение вопросов, касающихся указанной технологии.
ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1879
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Можно ли в TLB сделать иерархию?

Сообщение ger_kar » 17.09.2015 (Чт) 19:11

Как известно WIN API Функции, а также любые другие функции экспортируемые DLL можно описать в TLB и подключить к проекту на VB6. Таким образом все описанные в TLB функции будут добавлены в пространство имен проекта, но проблема в том, что это пространство имен фактически плоское и при большом количестве функций это не очень удобно. И почему то появилась мысль, а вдруг возможно сделать иерархию, хотя бы двухступенчатую. И таким образом функции удобно бы было разбить на группы по функциональному принципу. Вообще возможно такое или нет?
Бороться и искать, найти и перепрятать

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

Re: Можно ли в TLB сделать иерархию?

Сообщение Хакер » 17.09.2015 (Чт) 19:58

Она и так есть.
LibName.ModName.FuncName
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1879
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Можно ли в TLB сделать иерархию?

Сообщение ger_kar » 17.09.2015 (Чт) 20:14

Ну она то конечно есть. И если брать TLB "Win32" для Win API то получается так
tlb_test.png

Иерархия конечно есть, но там в TLB присутствуют объявления функций из разных DLL.
А если например Dll одна, а функций содержит много? Можно ли как нибудь в этом случае их разнести по группам?
У вас нет доступа для просмотра вложений в этом сообщении.
Бороться и искать, найти и перепрятать

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

Re: Можно ли в TLB сделать иерархию?

Сообщение Хакер » 17.09.2015 (Чт) 20:15

Никто не заставляет TLB-шный модуль тратить на целую DLL-библиотеку.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1879
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Можно ли в TLB сделать иерархию?

Сообщение ger_kar » 17.09.2015 (Чт) 20:29

Я так понял, что нужно просто взять и сделать не одну TLB, а целую кучу. И декларацию функций распределить по ним? Да это конечно вариант, но достаточно горбатый. А что, как нибудь изящно с помощью самой внутренней организации TLB это решить никак нельзя?
Бороться и искать, найти и перепрятать

The trick
Постоялец
Постоялец
 
Сообщения: 508
Зарегистрирован: 26.06.2010 (Сб) 23:08

Re: Можно ли в TLB сделать иерархию?

Сообщение The trick » 17.09.2015 (Чт) 21:21

Я думаю можно просто создать несколько module, с одинаковыми dllname.
UA6527P

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

Re: Можно ли в TLB сделать иерархию?

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

ger_kar писал(а):Да это конечно вариант, но достаточно горбатый.

Ничем он не горбатый.

ger_kar писал(а):А что, как нибудь изящно с помощью самой внутренней организации TLB это решить никак нельзя?

Внутренняя организация никакой иерархии кроме той, что уже есть, не предоставляет. Зато внутренняя организация позволяет классную фишку: можно любое type-info снабдить собственной произвольной информацией: условно бесконечным числом характеристик, идентифицируемых UUID-ами, имеющих произвольные значения.

Можешь информацию о иерархии хранить в этих user-defined характеристиках, но сперва напиши свою IDE, которая будет учитывать эти характеристики для «визуализации» иерархии.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1879
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Можно ли в TLB сделать иерархию?

Сообщение ger_kar » 18.09.2015 (Пт) 7:13

Хакер писал(а):Можешь информацию о иерархии хранить в этих user-defined характеристиках, но сперва напиши свою IDE, которая будет учитывать эти характеристики для «визуализации» иерархии.
Ну это точно не вариант :shock:
А если подойти к проблеме с другой строны? Т.е. со стороны самой библиотеки? Существуют ли возможность непосредственно там организовать экспортируемые функции в некую структуру?
Бороться и искать, найти и перепрятать

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

Re: Можно ли в TLB сделать иерархию?

Сообщение Хакер » 18.09.2015 (Пт) 7:15

А я с какой стороны подходил?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1879
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Можно ли в TLB сделать иерархию?

Сообщение ger_kar » 18.09.2015 (Пт) 7:46

Ну первая сторона - это TLB, а с другой, это со стороны DLL :)
Чтобы можно было иметь иерархию наподобие ActiveX, только для экспортируемых функций!
Бороться и искать, найти и перепрятать

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

Re: Можно ли в TLB сделать иерархию?

Сообщение Хакер » 18.09.2015 (Пт) 7:51

Я не понимаю твою мысль.
В ActiveX нет никакой иерархии.

Иерархия в TLB такая: библиотека → typeinfo → член.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1879
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Можно ли в TLB сделать иерархию?

Сообщение ger_kar » 18.09.2015 (Пт) 18:08

Хакер писал(а):Я не понимаю твою мысль.В ActiveX нет никакой иерархии.
Имелась ввиду иерархия объектов самой ActiveX библиотеки. Если взять для примера например \ado\msado15.dll, то в объект браузере можно наблюдать как раз библиотека → typeinfo → член. И тем не менее сама иерархия имеется и IDE это знает. И для этой библиотеки например можно получить
ADODB → Recordset → Fields → Item → Properties
и т.д. Вот это имелось ввиду тут именно иерархия со стороны библиотеки.
Бороться и искать, найти и перепрятать

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

Re: Можно ли в TLB сделать иерархию?

Сообщение Хакер » 18.09.2015 (Пт) 18:24

Это не иерархия, а просто у одного интерфейса есть свойство, возвращающее другой, у которого аналогично.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в OLE / COM / ActiveX

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

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

    TopList