BP писал(а):Да я просто когда то код видел, где человек менял оконную процедуру формы, записывая в память. Вот я и подумал что он знает её класс.
BP писал(а):Вот так:
Private Function GetProcPtr(ClassPtr As Long, ProcNumber As Long) As Long
Dim TempPtr As Long
Dim ProcPtr As Long
Call CopyMemory(TempPtr, ByVal ClassPtr, 4&)
Call CopyMemory(ProcPtr, ByVal TempPtr + &H1C + (4& * ProcNumber), 4&)
GetProcPtr = ProcPtr
End Function
Юстас писал(а):BP, да совсем оно и не волшебное, а вполне стандартное смещение, на котором от начала идут адреса процедур. Смотри файл OAIdl.h
tyomitch писал(а):BP, я же уже объяснил, 1C=4*7, 4 байта в адресе, 7 членов в IDispatch-е. Теперь понятно?
BP писал(а):Что то я запутался. Какой интерфейс нужно определять заранее IUnknown или IDispatch?
Судя по читанным ранее хелпам из PB, интерфейс IDispatch автоматически определяет методы и свойства. Так? Значит это уже хорошо что он Dispatch?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8