Как VBA/VB6 размещает память в классе, который реализует несколько интерфейсов?
Я изучаю расположение полей и указателей для экземпляра класса в VBA. Я предполагаю, что макет похож, если не то же самое для VB6. Я смог использовать различные фрагменты из этого потока VBForums, чтобы помочь найти открытых и закрытых членов класса, но я не уверен, как определить, какие интерфейсы реализуются классом, как они расположены в памяти, и как найти указатели для членов интерфейса.
Как я могу узнать как можно больше о макете класса?
Помимо функций VB, таких как ObjPtr
, VarPtr
а также StrPtr
, немного арифметики памяти и функции Win32 CopyMemory
Есть ли какие-либо методы программирования для определения макета?