_DeActivateHandler( ) удаляет заданный обработчик событий из списка событий процесора.
void _DeActivateHandler(unsigned int EventIdentifier) unsigned int EventIdentifier; /* ID обработчика событий который будет удален из списка. */ |
Примечания
Необходимо удалить из списка каждый обработчик событий, указанный идентификатором EventIdentifier, Когда библиотека выгружается.
Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.
Пример
В следующем примере при загрузке библиотеки активизируется обработчик событий. Обработчик печатает сообщение для каждого события и предоставляет Visual FoxPro возможность обработать это сообщение. Когда библиотека выгружается, обработчик событий деактивируется. Как и в данном примере, _DeActivateHandler( ) обычно вызывается из функции CALLONUNLOAD.
Код Visual FoxPro
Copy Code | |
|---|---|
SET LIBRARY TO DEACTHAN | |
Код C
Copy Code | |
|---|---|
#include <pro_ext.h>
static int HandlerID;
// This is the routine that is registered as an event handler.
FAR EventHandler(WHandle theWindow, EventRec FAR *ev)
{
_PutStr("\nEventHandler() called.");
return NO; // event still needs to be handled by Visual FoxPro
}
FAR Activate()
{
HandlerID = _ActivateHandler(EventHandler);
}
// When the library is unloaded we must deactivate the event handler
// in a CALLONUNLOAD function.
FAR DeActivate()
{
_DeActivateHandler(HandlerID);
}
FoxInfo myFoxInfo[] = {
{"ACTIVATE", (FPFI) Activate, CALLONLOAD, ""},
{"DEACTIVATE", (FPFI) DeActivate, CALLONUNLOAD, ""}
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
}; | |
Смотрите также
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.