Текущий раздел:

Описания RDS

Приложения

Приложение А. Функции, константы и структуры RDS

А.5. Сервисные функции и макросы RDS

А.5.16. Работа с динамическими переменными

А.5.16.2. rdsCreateDynamicVar – создать динамическую переменную

# Приложения

## Приложение А. Функции, константы и структуры RDS

### А.5. Сервисные функции и макросы RDS

#### А.5.16. Работа с динамическими переменными

##### А.5.16.2. rdsCreateDynamicVar – создать динамическую переменную

Функция rdsCreateDynamicVar создает динамическую переменную указанного типа в указанном блоке.

      LPVOID RDSCALL rdsCreateDynamicVarA(
        int Block,        // Место создания (RDS_DV*)
        RDSCSTR VarName,  // Имя переменной (UTF8)
        RDSCSTR VarType,  // Тип переменной (UTF8)
        BOOL Fixed,       // Запрет удаления
        RDSCSTR Init      // Начальное значение (UTF8)
      );
      LPVOID RDSCALL rdsCreateDynamicVarW(
        int Block,        // Место создания (RDS_DV*)
        RDSWCSTR VarName, // Имя переменной (UTF16)
        RDSWCSTR VarType, // Тип переменной (UTF16)
        BOOL Fixed,       // Запрет удаления
        RDSWCSTR Init     // Начальное значение (UTF16)
      );
      // Функция-псевдоним
      LPVOID RDSCALL rdsCreateDynamicVar(
        int Block,        // Место создания (RDS_DV*)
        RDSXCSTR VarName, // Имя переменной (кодировка по умолчанию)
        RDSXCSTR VarType, // Тип переменной (кодировка по умолчанию)
        BOOL Fixed,       // Запрет удаления
        RDSXCSTR Init     // Начальное значение (кодировка по умолчанию)
      );

Тип указателя на эту функцию

RDS_pVISSBS (для UTF8) или RDS_pVIWsWsBWs (для UTF16)

Параметры

Block(int)
  Одна из констант RDS_DV*, указывающих на блок, в котором динамическая переменная будет создана.
VarName(RDSCSTR,RDSWCSTR,RDSXCSTR)
  Указатель на строку с именем создаваемой переменной.
VarType(RDSCSTR,RDSWCSTR,RDSXCSTR)
  Указатель на строку типа создаваемой переменной. Эта строка состоит из одного (для простых переменных) или нескольких (для структур и матриц) символов RDS_VARTYPE_*.
Fixed(BOOL)
  TRUE, если удалять эту переменную разрешено только создавшему ее блоку, то есть блоку, вызвавшему эту функцию. FALSE, если удалить переменную может любой блок.
Init(RDSCSTR,RDSWCSTR,RDSXCSTR)
  Указатель на строку, содержащую описание значения переменной по умолчанию, составленное по правилам RDS (см. описание функции rdsSetBlockVarDefValueStr). В этом параметре можно передать NULL, если значение созданной переменной устанавливать не нужно.

Возвращаемое значение

Указатель на область данных созданной переменной или NULL, если создать переменную не удалось (например, если переменная с таким именем уже есть в указанном блоке).

Примечания

Эта функция создает новую динамическую переменную с именем VarName и типом VarType в вызвавшем функцию блоке (при Block==RDS_DVSELF), его родительской подсистеме (при Block==RDS_DVPARENT) или в корневой подсистеме (при Block==RDS_DVROOT). В параметре VarType передается строка типа переменной, составленная по правилам RDS: например, для вещественного числа – «D», для матрицы целых чисел – «MI», для структуры из двух вещественных чисел, как бы ни назывался тип этой структуры – «{DD}». Для полноценной работы с созданной переменной блок должен подписаться на нее, поэтому вместо этой функции сейчас чаще всего используется rdsCreateAndSubscribeDV.

См. также

rdsCreateAndSubscribeDV, RDS_DYNVARLINK, rdsSetBlockVarDefValueStr, rdsDeleteDynamicVar.