Получение свойств вложенных классов.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Fedorfx
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 10.10.2002 (Чт) 0:14

Получение свойств вложенных классов.

Сообщение Fedorfx » 24.04.2004 (Сб) 15:12

Всем привет
Такой вопрос
Есть класс1
в нем обьявлен Класс2
В классе 2 обьявлен класс 3
Как из Класса 3 получить доступ к свойствам класса 2 и класса 1???
Мне приходится в каждом классе делать ссылку на предыдущий класс (Parent) но подумалось, а может есть другие, более стандартные методы???

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 24.04.2004 (Сб) 16:14

К сожалению, нет.

Fedorfx
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 10.10.2002 (Чт) 0:14

Сообщение Fedorfx » 25.04.2004 (Вс) 0:42

Ок
А тогда можно ли узнать поддерживает какой либо класс какое либо свойство или метод.
Ну типа есть класс и мне надо узнать есть ли в нем метод GetData
и еще - а можно ли каким либо способом узнать ВСЕ методы класса и свойства???

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.04.2004 (Вс) 5:47

Можно, можно :) Основы COM. Запрос на подержку интерфейса через QueryInterface. Запрос по методам через DispGetIDsOfNames. Только не имею ни малейшего представления, как это выглядит в VB. Имею представление только о CallByName и о вылове ошибок в оной :)

Но это если ручками. А если библами - то подключай TypeLib Info, там всё ессь...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Fedorfx
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 10.10.2002 (Чт) 0:14

Сообщение Fedorfx » 25.04.2004 (Вс) 14:39

ок посмотрю
Другой вопрос
Я так понимаю что Com не самое быстрое решение для программиста.
А какие модели еще существуют из тех, которые можно юзать в VB???
P.S. Я все капаю в поисках повышения производительности. У меня в проге большие обьемы данных ( 20-30 массивов по 15 000 элементов)

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Re: Получение свойств вложенных классов.

Сообщение codemaster » 25.04.2004 (Вс) 18:34

Fedorfx писал(а):Как из Класса 3 получить доступ к свойствам класса 2 и класса 1???
Мне приходится в каждом классе делать ссылку на предыдущий класс (Parent) но подумалось, а может есть другие, более стандартные методы???


Правильное решение
Заодно посмотри здесь
http://www.mvps.org/emorcillo/vb6/com/index.shtml

Fedorfx
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 10.10.2002 (Чт) 0:14

Сообщение Fedorfx » 26.04.2004 (Пн) 16:20

сайт неплохой но почему то из двух нужных мне примеров не работаеn ни один :-(
Может есть у кого работающий пример по использованию Idispatсh в среде VB
???

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 26.04.2004 (Пн) 19:50

Fedorfx писал(а):сайт неплохой но почему то из двух нужных мне примеров не работаеn ни один :-(
Может есть у кого работающий пример по использованию Idispatсh в среде VB
???


Примеры все рабочие

Fedorfx
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 10.10.2002 (Чт) 0:14

Сообщение Fedorfx » 26.04.2004 (Пн) 21:08

скачал вот это
http://www.mvps.org/emorcillo/vb6/com/invoke.shtml
скачал библиотеку
зарегистрировал библу и вторую тоже
запускаю
говорит
Comile Error
Function or interface marked as restructed, or the function uses an Automation type not supported in Visual Basic

У меня стоит 6й VB с 6м сервиспаком
в проект ничего не добавлял
Библу подключил через Preference

:-(

Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Сообщение Vi » 27.04.2004 (Вт) 8:54

Fedorfx писал(а):А тогда можно ли узнать поддерживает какой либо класс какое либо свойство или метод.
Ну типа есть класс и мне надо узнать есть ли в нем метод GetData
и еще - а можно ли каким либо способом узнать ВСЕ методы класса и свойства???

Есть такая библиотека TLBINF32.DLL - Type Information в References... В ней есть метод InvokeID
Function InvokeID(Object As Object, Name As String) As Long
Member of TLI.TLIApplication
Hook to IDispatch::GetIDsOfNames. Retrieve MemberID (DispId) once to speed up multiple InvokeHook calls.

и InterfaceInfo для определения всех методов интерфейса.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН


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

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

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

    TopList