Новости



Visual FoxPro 9 позволяет создавать ещё более производительные приложения баз данных.
Двадцатиление FoxPro! Microsoft принимает поздравления.
Visual FoxPro Toolkit for .NET - более 225 функций VFP 7.0, для языков .NET (подробнее)

fox00020.gif

В следующем примере освобождается переменная памяти, имя которой задано в виде символьного аргумента. Для получения номера NTI переменной используется прог амма _NameTableIndex( ).

Код Visual FoxPro

SET LIBRARY TO RELEASE

x = 123

= XRELEASE("x")

Код C

#include <pro_ext.h>

FAR ReleaseEx(ParamBlk FAR *parm)

{

NTI nti;

char FAR *name;

int exitCode;

Locator loc;

// Null terminate character string, name of variable

if (!_SetHandSize(parm->p[0].val.ev_handle,

parm->p[0].val.ev_length+1))

{

_Error(182); // "Insufficient memory"

}

_HLock(parm->p[0].val.ev_handle);

name = (char FAR *) _HandToPtr(parm->p[0].val.ev_handle);

name[parm->p[0].val.ev_length] = '\0';

if ((nti = _NameTableIndex(name)) == -1)

{

_HUnLock(parm->p[0].val.ev_handle);

_UserError("Cannot find variable in name table.");

}

_HUnLock(parm->p[0].val.ev_handle);

if (_FindVar(nti, -1, &loc))

{

_PutStr("\nVariable exists prior to _Release().");

}

if ((exitCode =_Release(nti)) < 0)

{

_Error(-exitCode);

}

_HLock(parm->p[0].val.ev_handle);

name = (char FAR *) _HandToPtr(parm->p[0].val.ev_handle);

name[parm->p[0].val.ev_length] = '\0';

if ((nti = _NameTableIndex(name)) != -1)

{

_PutStr("\n_NameTableIndex() still finds variable \

after it is released.");

}

_HUnLock(parm->p[0].val.ev_handle);

if (!_FindVar(nti, -1, &loc))

{

_PutStr("\nVariable does not exist after _Release().");

}

}

FoxInfo myFoxInfo[] = {

{"XRELEASE", (FPFI) ReleaseEx, 1, "C"},

};

FoxTable _FoxTable = {

(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo

};



Новое на сайте

  • Обновлен портфель программиста

    Добавлены: Установка HTML Help (Создание справочной системы), Imagedit.zip - Графический редактор ( ico и bmp), Библиотека локализации HTML Help (Русский)
  • Новые примеры программ

    Установка библиотек, Игровая программа "Охота на лис", Установка библиотек "Охота на лис", plastic -"Платежки", Библиотеки (на FPD26), platan -"Платежки" (на Clipper 5.2)
  • Обновленна справка

    Подсказки, технология программирования и использование Visual FoxPro. Команды, функции, операторы, объекты, свойства, события и методы.