Освобождает дескриптор памяти hand который был ранее выделен такими средствами, как _AllocHand( ).
void _FreeHand(MHANDLE hand) MHANDLE hand; /* Дескриптор памяти. */ |
Пример
В следуюшем примере выделяется 1024 блока памяти по 16384 байт, всего 16 Мбайт, причем перед тем, как выделять очередной блок, освобождается предыдущий с помощью _FreeHand( ).
Код Visual FoxPro
![]() | |
---|---|
SET LIBRARY TO FREEHAND |
Код C
![]() | |
---|---|
#include <pro_ext.h> void FAR Example(ParamBlk FAR *parm) { MHANDLE mh; int i; for (i = 0; i < 1024; i++) { if ((mh = _AllocHand(16384)) == 0) { _Error(182); // "Insufficient memory" } _FreeHand(mh); } } FoxInfo myFoxInfo[] = { {"ONLOAD", (FPFI) Example, CALLONLOAD, ""}, }; FoxTable _FoxTable = { (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo }; |
Смотрите также
Справочное руководство
Процедура библиотеки API _AllocHand( )Процедура библиотеки API _GetHandSize( )
Процедура библиотеки API _HandToPtr( )
Процедура библиотеки API _HLock( )
Процедура библиотеки API _HUnLock( )
Процедура библиотеки API _MemAvail( )
Процедура библиотеки API _SetHandSize( )