_DeActivateIdle( ), API-Bibliotheksroutine
Entfernt die angegebene Routine aus der Leerlaufschleife.
void _DeActivateIdle(unsigned int IdleIdentifier)
unsigned int IdleIdentifier; /* Routine to be removed
from idle list. */
Hinweise
Sie müssen jede Leerlaufroutine beim Entfernen ihrer Bibliothek aus der Leerlaufroutinenliste entfernen.
Weitere Informationen zum Erstellen einer API-Bibliothek und ihrer Integration in Visual FoxPro finden Sie unter Zugreifen auf die Visual FoxPro-API.
Beispiel
Im folgenden Beispiel wird beim Laden der Bibliothek eine Leerlauf-Ereignisbehandlungsroutine aktiviert. Die Leerlauf-Ereignisbehandlungsroutine druckt lediglich eine Meldung und wird beim Entfernen der Bibliothek deaktiviert. Wie auch im folgenden Beispiel wird _DeActivateIdle( ) normalerweise aus einer CALLONUNLOAD-Funktion aufgerufen.
Visual FoxPro-Code
SET LIBRARY TO DEACTIDL
C-Code
#include <pro_ext.h>
static unsigned IdlerID;
// This is the routine that is registered as an idle event handler.
void FAR IdleHandler(WHandle wh, EventRec *ev)
{
_PutStr("\nIdleHandler() called.");
}
void FAR Activate(ParamBlk FAR *parm)
{
IdlerID = _ActivateIdle((FPFI) IdleHandler);
}
// When the library is unloaded we must deactivate the idle event
// handler in a CALLONUNLOAD function.
void FAR DeActivate(ParamBlk FAR *parm)
{
_DeActivateIdle(IdlerID);
}
FoxInfo myFoxInfo[] = {
{"ACTIVATE", (FPFI) Activate, CALLONLOAD, ""},
{"DEACTIVATE", (FPFI) DeActivate, CALLONUNLOAD, ""}
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
Siehe auch
_ActivateIdle( ), API-Bibliotheksroutine | _FindWindow( ), API-Bibliotheksroutine | _GlobalToLocal( ), API-Bibliotheksroutine | _MousePos( ), API-Bibliotheksroutine