Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
"function": niewłaściwa składnia określania programu obsługi zdarzeń w __hook/__unhook
Uwagi
Po określeniu programu obsługi zdarzeń przy użyciu __hook lub __unhook program obsługi musi być prawidłową metodą.
Przykład
Poniższy przykład generuje kod C3710
// C3710.cpp
// compile with: /link /opt:noref
#include <atlbase.h>
#include <atlcom.h>
#include <atlctl.h>
#include <stdio.h>
[event_source(native)]
class CEventSrc
{
public:
__event void event1();
};
[event_receiver(native)]
class CEventRec
{
public:
void handler1()
{
printf_s("Executing handler1().\n");
}
void HookEvents(CEventSrc* pSrc)
{
__hook(&CEventSrc::event1, pSrc, 0); // C3710
// try the following line instead
// __hook(&CEventSrc::event1, pSrc, &CEventRec::handler1);
}
void UnhookEvents(CEventSrc* pSrc)
{
__unhook(&CEventSrc::event1, pSrc, &CEventRec::handler1);
}
};
int main()
{
CEventSrc eventSrc;
CEventRec eventRec;
eventRec.HookEvents(&eventSrc);
eventSrc.event1();
eventRec.UnhookEvents(&eventSrc);
}