Как перехватить метод при обращении к объекту?

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

Как перехватить метод при обращении к объекту?

Сообщение INKOGNITO » 12.08.2005 (Пт) 10:55

В VB создаётся объект через
Set ProObj = CreateObject("Pro.Document")
Затем управляется методами, например
ProObj.ExecCommand ("load " & FilePath$)
Может быть есть какой-нибудь шпион, который сидел бы и говорил, ага, к ProObj применился метод ExecCommand с параметрами "load C:\1.txt"

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 12.08.2005 (Пт) 11:07

Если у объекта есть события, то в секции Declaration объявить Private WithEvents obj As ...
Lasciate ogni speranza, voi ch'entrate.

INKOGNITO
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 23.06.2002 (Вс) 13:39

Сообщение INKOGNITO » 12.08.2005 (Пт) 11:31

Мммм... А что мне это даст?
Суть проблемы в том, что я через свою программу на VB управляю другой программой. Разработчик этой "другой" програмы дал только некоторые методы для управления, а некоторые оставил "для себя". Он использует эти неизвестные мне методы в своей программе. Вот я и хотел узнать что он утаил :)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 12.08.2005 (Пт) 12:16

Если разработчик не выставил эти методы, как публичные, то ты до них не доберешься. А те, что выставлял, ты сможешь использовать, если объявишь переменную, как я показал. После этого, если ты раскроешь в окне кода левый комбобокс, увидишь там объект obj. После того, как ты его выберешь, в правом комбобоксе увидишь доступные события.
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 12.08.2005 (Пт) 15:17

alibek писал(а):Если разработчик не выставил эти методы, как публичные, то ты до них не доберешься.


Можно объявить их как скрытые, тогда они справа не показываются.
Посмотреть их можно с опцией Show Hidden Members в Object Browser...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 12.08.2005 (Пт) 15:28

Когда то я видел COM Spy , но позволял ли он это делать? Непомню.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

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

Re: Как перехватить метод при обращении к объекту?

Сообщение codemaster » 12.08.2005 (Пт) 16:23

INKOGNITO писал(а):В VB создаётся объект через
Set ProObj = CreateObject("Pro.Document")
Затем управляется методами, например
ProObj.ExecCommand ("load " & FilePath$)
Может быть есть какой-нибудь шпион, который сидел бы и говорил, ага, к ProObj применился метод ExecCommand с параметрами "load C:\1.txt"


см. http://www.rsdn.ru/article/com/comintercept.xml
//<-
Mit freundlichen Grüßen
//->


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

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

Сейчас этот форум просматривают: AhrefsBot, SemrushBot и гости: 111

    TopList