Сейчас на форуме: _MBK_, UniSoft, laslo, bartolomeo (+5 невидимых) |
eXeL@B —› Программирование —› VB(VBS) COM и MASM32 |
Посл.ответ | Сообщение |
|
Создано: 18 августа 2011 14:58 · Личное сообщение · #1 Вопрос знатокам. При кодинге на VB или VBS есть такая функция как CreateObject('имя класса') например Set objApp = CreateObject( "Shell.Application" ) Подскажите плз как можно на низком уровне реализовать такую функцию не зная GUID данного объекта (что бы не ворошить интернет в поисках GUID и не забивать его как константу), т.е. по имени, в данном примере - это Shell.Application, ну или же на худой конец по этому имени получить GUID для CoCreateInstance. Премного благодарен. |
|
Создано: 18 августа 2011 17:09 · Поправил: Av0id · Личное сообщение · #2 |
|
Создано: 19 августа 2011 13:40 · Личное сообщение · #3 |
|
Создано: 19 августа 2011 14:49 · Личное сообщение · #4 |
|
Создано: 19 августа 2011 16:00 · Личное сообщение · #5 |
|
Создано: 19 августа 2011 22:05 · Личное сообщение · #6 |
|
Создано: 19 августа 2011 22:20 · Личное сообщение · #7 Все интерфейсы COM наследуются от IUnknown. То есть в любой vtable первые три будут QueryInterface, AddRef и Release. Точно не помню как они идут, но это можно посмотреть в заголовочных файлах. Как они перечислины в объявлении интерфейса так и идут. За ними идут методы самого интерфейса, тоже в том порядке в каком описаны в библиотеке типов. Как-то так. ----- Следуй за белым кроликом |
|
Создано: 20 августа 2011 10:33 · Личное сообщение · #8 |
|
Создано: 22 августа 2011 11:10 · Личное сообщение · #9 |
|
Создано: 22 августа 2011 19:48 · Личное сообщение · #10 Видел в дизассемблерном дистинге как VB работает с COM. Ятак понял у него нет объявлений в каком порядке расположены методы объекта - позицию метода или свойства он определяет по имени, функцией __vbaVarLateMemCallLd и затем вызывает метод как следствие могу предположить что все-таки есть такая возможность определять позицию метода в описателе объекта по имени, дабы не использовать громоздких структур в исходниках и не искать по заголовочным файлам порядок расположения методов в объекте. Кто знает - поделитесь информацией. |
eXeL@B —› Программирование —› VB(VBS) COM и MASM32 |