var_extern_delete
Удалить из памяти внешнюю переменную.
Вызов:
var_extern_delete( string sVarName);
Здесь:
sVarName - имя переменной, которую необходимо удалить из памяти.
Пример.
Сделать так, чтобы при закрытии окна немодального диалога удалялся из памяти объект таблицы и удалялась переменная.
int main()
{
#pragma region Создание диалога
object("create","ts_dialog",iDialogDescr);
ts_dialog(iDialogDescr, "init_dialog","palette",0,0,450,400);
ts_dialog(iDialogDescr, "set_as_main_panel");
ts_dialog(iDialogDescr, "eventreaction", "Event_PanelCloseRequested"); // задание реакции на событие
ts_dialog(iDialogDescr, "SetTitle","Выгрузка BOQ и BOM");
...
#pragma endregion
ts_dialog(iDialogDescr, "invoke", bres);
}
// Обработчик событий
int Event_PanelCloseRequested(int iDescr, string sDescr)
{
int toret = 0;
int iTableReestrEdinichnyhRascenok; // реестр единичных расценок
int ires = 0;
ires = var_extern_get("iTableReestrEdinichnyhRascenok", iTableReestrEdinichnyhRascenok, 0);
if (ires >= 0)
{
object("delete", iTableReestrEdinichnyhRascenok);
var_extern_delete("iTableReestrEdinichnyhRascenok");
}
return toret;
}
// Создать таблицу, если она еще не создана
int CreateTableIfNeeded()
{
int ires = 0;
ires = var_extern_get("iTableReestrEdinichnyhRascenok", iTableReestrEdinichnyhRascenok, 0);
if (ires != 0)
{
//
object("create", "ts_table", iTableReestrEdinichnyhRascenok);
object("KeepInMemory", iTableReestrEdinichnyhRascenok);
...
}
else
{
ts_table(iTableReestrEdinichnyhRascenok, "reset_cpp_to_current");
}
return 0;
}