Приложения
Приложение А. Функции, константы и структуры RDS
А.5. Сервисные функции и макросы RDS
А.5.23. Вспомогательный объект для изменения связей и шин
А.5.23.5. rdsCEAddChannel – добавление канала шины
Функция rdsCEAddChannel добавляет в объект редактирования шины новый канал передачи данных.
BOOL RDSCALL rdsCEAddChannelA( RDS_HOBJECT Editor, // Объект RDSCSTR ChnName, // Имя канала (UTF8) char BaseVarType, // Тип переменной RDSCSTR StructType, // Имя типа структуры (UTF8) int ArrayDepth // Вложенность матрицы ); BOOL RDSCALL rdsCEAddChannelW( RDS_HOBJECT Editor, // Объект RDSWCSTR ChnName, // Имя канала (UTF16) char BaseVarType, // Тип переменной RDSWCSTR StructType, // Имя типа структуры (UTF16) int ArrayDepth // Вложенность матрицы ); // Функция-псевдоним BOOL RDSCALL rdsCEAddChannel( RDS_HOBJECT Editor, // Объект RDSXCSTR ChnName, // Имя канала (кодировка по умолчанию) char BaseVarType, // Тип переменной RDSXCSTR StructType, // Имя типа структуры (кодировка по умолчанию) int ArrayDepth // Вложенность матрицы );
Тип указателя на эту функцию
RDS_BHoSCSI (для UTF8) или RDS_BHoWsCWsI (для UTF16)
Параметры
- Editor (RDS_HOBJECT)
- Идентификатор вспомогательного объекта для редактирования связи (шины), ранее созданного функцией rdsCECreateEditor.
- ChnName (RDSCSTR, RDSWCSTR, RDSXCSTR)
- Указатель на строку с именем добавляемого канала.
- BaseVarType (char)
- Тип переменной канала – одна из констант RDS_VARTYPE_* кроме RDS_VARTYPE_STRUCTEND (это служебная константа, не тип переменной) и RDS_VARTYPE_ARRAY (массивы задаются другим способом). Если нужно указать в качестве типа структуру, в BaseVarType передается RDS_VARTYPE_STRUCT, а в параметре StructType – имя типа структуры, под которым она зарегистрирована в RDS. Если нужно указать в качестве типа матрицу, в BaseVarType передается тип элемента матрицы, а в параметре ArrayDepth – вложенность (1 для матрицы, 2 для матрицы матриц и т.д., см. ниже)
- StructType (RDSCSTR, RDSWCSTR, RDSXCSTR)
- Имя типа структуры, если в параметре BaseVarType передана константа RDS_VARTYPE_STRUCT.
- ArrayDepth (int)
- Вложенность матрицы переменной канала: 0 – простая переменная типа BaseVarType, 1 – матрица типа BaseVarType, 2 – матрица матриц BaseVarType и т.п.
Возвращаемое значение
TRUE – канал добавлен, FALSE – добавление невозможно (недопустимый тип, канал с таким именем уже есть и т.п.).
Примечания
Эта функция добавляет во внутренний набор объекта новый канал передачи данных (эта информация будет использована только в том случае, если объект Editor будет использован для создания шины). Имя канала задается параметром ChnName, а тип – сочетанием параметров BaseVarType, StructType и ArrayDepth. Параметр BaseVarType задает базовый тип элемента (тип самой переменной или тип элемента матрицы), в параметре StructType передается имя типа структуры, если базовый тип – структура, а в параметре ArrayDepth – вложенность матриц (0 – простая переменная). Например:
| BaseVarType | StructType | ArrayDepth | Тип |
|---|---|---|---|
| RDS_VARTYPE_INT | NULL | 0 | Целое число (int) |
| RDS_VARTYPE_INT | NULL | 1 | Матрица целых |
| RDS_VARTYPE_INT | NULL | 2 | Матрица матриц целых |
| RDS_VARTYPE_STRUCT | "Complex" | 0 | Структура «Complex» |
| RDS_VARTYPE_STRUCT | "Complex" | 1 | Матрица структур «Complex» |
Такой же способ задания типа переменных используется и в функции rdsVSAddVar.
См. также
rdsCECreateEditor, rdsCECreateConnBus, rdsCEEditConnBus, rdsVSAddVar.