Получение TypeInfo для объектов в VB.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
zHackLeX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 23.10.2003 (Чт) 21:08

Получение TypeInfo для объектов в VB.

Сообщение zHackLeX » 29.07.2006 (Сб) 14:11

Вообщем-то, задача стоит так:
необъодимо получить TypeInfo (Как в Typelib Information)
об объектах VB - список свойств, методов (и их параметров) и их типов.

ActiveX-объекты запросто предоставляют такую информацию, а вот всяческие Form, CheckBox и пр. (VB-шные) - нет.

В IDE все работает, всё есть, получить список свойств/методов - не проблема. В компилированной версии Object, видите ли, does not support this action. Что делать, как быть?
Особенно если обект - это моя же форма, и свойств/методов я к ней новых насоздавал?

Пока вообще смог только сохранить список заранее, чтобы юзать после компиляции...
There is no knowledge that is not power...

X,C,A,B,C,Z,X,A,B,C,Z....
Многие ли помнят? :)

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

Сообщение tyomitch » 29.07.2006 (Сб) 14:13

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

zHackLeX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 23.10.2003 (Чт) 21:08

Сообщение zHackLeX » 02.08.2006 (Ср) 22:02

Ну... блин... цель...
Даже не знаю как ответить, сохранив "тайну разработчика" :)
...
Но если принципиально, то скажу: лишь бы помогли.
...
То есть даже если шаманить, танцевать с бубнами и вызывать духов OLE, получить ничего не получится?
Хотя бы что-нибудь сделать на эту тему можно?
Я понимаю - можно было бы покопать vb6.olb (или как-то так) - но вот с пользовательскими методами как быть?
Совсем никак? Хотя бы можно определить, какие методы были добавлены лично мною в процессе разработки к классу Form1?
Просто если всё пропрёт - прога моя будет Вещью с большой буквы...
There is no knowledge that is not power...

X,C,A,B,C,Z,X,A,B,C,Z....
Многие ли помнят? :)

NashRus
Постоялец
Постоялец
 
Сообщения: 388
Зарегистрирован: 18.03.2006 (Сб) 1:16

Сообщение NashRus » 03.08.2006 (Чт) 0:31

а в дизайнере как это получаешь ? в AddIN или в самой же проге ?


Hook IDispatch -> Replace VTable. IPerPropertyBrowsing.
что нибудь такое ?


скриптование какое - нибудь с метаданными делаешь ? правильно, никому не говори. такая мысль приходит в голову всего лишь одному девелоперу из полутора девелоперов.

Просто если всё пропрёт - прога моя будет Вещью с большой буквы...


везет тебе, у тебя такая прога будет.

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

Сообщение tyomitch » 03.08.2006 (Чт) 6:43

zHackLeX, почитай на всякий случай http://bbs.vbstreets.ru/viewtopic.php?t=9313 , если ещё не читал
Изображение

zHackLeX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 23.10.2003 (Чт) 21:08

Сообщение zHackLeX » 03.08.2006 (Чт) 12:06

Да, почитал, видел примеры, вообщем-то, та же ошибка (само собой?)
Компилированный (ЕХЕ) код не обрабатывает контролы и формы VB. Не знаю точно - не тестил - но думаю, что исключением (приятным) будут public-классы, созданные в приложении ActiveX Exe...

То что прислал Andrey Fedorov вообще не разбирал - нету гридекса и времени вникнуть ... :cry:

Тем не менее, даже если помочь ничем нельзя - всё равно спасибо. Буду реализовывать иначе... реализую - выложу в Проекты...
There is no knowledge that is not power...

X,C,A,B,C,Z,X,A,B,C,Z....
Многие ли помнят? :)


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

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

Сейчас этот форум просматривают: Yandex-бот и гости: 135

    TopList