CreateObject, эквивалентный в C/C++? (COM Interop)

Что было бы эквивалент в C/C++?

6
задан Newbie 4 February 2010 в 19:12
поделиться

3 ответа

Связывание и несвязывание занимает некоторое время.

Другим решением является добавление класса, такого как disabled , а затем использование hasClass ('disabled') для проверки и проверки того, должен ли он возвращать false .

$('a').addClass('disabled');
$('a').click(function() {
    if($(this).hasClass('disabled'))
        return false;
});
-121--4106697-

Там есть ошибка

result = methodInfo.Invoke(methodInfo, parametersArray);

, она должна быть

result = methodInfo.Invoke(classInstance, parametersArray);
-121--636003-

Это функция CoCreateInstance () .

Удобно использовать CoCreateInstance, если необходимо создать только один экземпляр объект на локальном компьютере. Если вы создают экземпляр на удаленном вызовите CoCreateInstityEx. При создании нескольких экземпляры, это более эффективно для получить указатель на объект класса Интерфейс IClassFactory и его использование по мере необходимости. В последнем случае: следует использовать CoGetClassObject функция.

Необходимо # включить < Objbase.h >, а также связать с ole32.lib

11
ответ дан 8 December 2019 в 05:54
поделиться

Всего два звонка. Вам понадобится CLSIDFromProgID (), чтобы сопоставить аргумент, который вы обычно передаете CreateObject, с CLSID. Который затем можно использовать в CoCreateInstance ().

6
ответ дан 8 December 2019 в 05:54
поделиться

Не забудьте вызвать CoInitializeEx или CoInitialize перед CoCreateInstance

5
ответ дан 8 December 2019 в 05:54
поделиться