_DeActivateHandler( ) удаляет заданный обработчик событий из списка событий процесора.
void _DeActivateHandler(unsigned int EventIdentifier) unsigned int EventIdentifier; /* ID обработчика событий который будет удален из списка. */ |
Примечания
Необходимо удалить из списка каждый обработчик событий, указанный идентификатором EventIdentifier, Когда библиотека выгружается.
Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.
Пример
В следующем примере при загрузке библиотеки активизируется обработчик событий. Обработчик печатает сообщение для каждого события и предоставляет Visual FoxPro возможность обработать это сообщение. Когда библиотека выгружается, обработчик событий деактивируется. Как и в данном примере, _DeActivateHandler( ) обычно вызывается из функции CALLONUNLOAD.
Код Visual FoxPro
![]() | |
---|---|
SET LIBRARY TO DEACTHAN |
Код C
![]() | |
---|---|
#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.