Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
"interface": Zdroj událostí založený na rozhraní lze použít pouze pro události modelu COM.
Poznámky
Deklarovali jste rozhraní v kontextu mimo com.
Example
Následující příklad generuje C3719:
// C3719a.cpp
#define _ATL_ATTRIBUTES 1
#include "atlbase.h"
#include "atlcom.h"
[module(name="MyLibrary", version="1.2", helpfile="MyHelpFile")];
[object]
__interface I {
HRESULT func1();
};
[event_source(native), coclass]
struct A {
__event __interface I; // C3719
// try the following line instead
// __event func2();
};
int main() {
}
Chcete-li tuto chybu opravit, použijte objekt, třídu coclass, event_source a event_receiver atributy odpovídajícím způsobem, aby třídy, ve kterých používáte třídy com rozhraní. Příklad:
// C3719b.cpp
#define _ATL_ATTRIBUTES 1
#include <atlbase.h>
#include <atlcom.h>
[module(name="xx")];
[object, uuid("00000000-0000-0000-0000-000000000001")]
__interface I {
HRESULT f();
};
[coclass, event_source(com) , uuid("00000000-0000-0000-0000-000000000002")]
struct MyStruct {
__event __interface I;
};
[event_receiver(com)]
struct MyStruct2 {
void f() {
}
MyStruct2(I* pB) {
__hook(&I::f, pB, &MyStruct2::f);
}
};
int main()
{
}