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

Описания RDS

Приложения

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

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

А.5.6. Операции с блоками и связями

А.5.6.10. rdsDuplicateBlock – сделать копию блока

# Приложения

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

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

#### А.5.6. Операции с блоками и связями

##### А.5.6.10. rdsDuplicateBlock – сделать копию блока

Функция rdsDuplicateBlock вставляет копию блока, идентификатор которого передан в ее параметрах, в заданную подсистему.

      RDS_BHANDLE RDSCALL rdsDuplicateBlock(
        RDS_BHANDLE Block,              // Копируемый блок
        RDS_BHANDLE Parent,             // Подсистема
        int x,int y,                    // Координаты
        RDS_PBLOCKDESCRIPTION pDescr    // Заполняемое описание
      );

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

RDS_BhBhBhIIBd

Параметры

Block(RDS_BHANDLE)
  Идентификатор блока, который нужно скопировать.
Parent(RDS_BHANDLE)
  Идентификатор подсистемы, внутрь которой нужно добавить копию блока.
x, y(int)
  Координаты точки привязки создаваемого блока на рабочем поле подсистемы Parent в масштабе 100%.
pDescr(RDS_PBLOCKDESCRIPTION)
  Указатель на структуру описания блока RDS_BLOCKDESCRIPTION, которую функция должна заполнить параметрами добавленного блока. Если вызывающей программе не нужно описание блока, в этом параметре можно передать NULL.

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

Идентификатор (RDS_BHANDLE) добавленного в подсистему блока или NULL в случае ошибки.

Примечания

Эта функция делает копию блока Block и вставляет ее в подсистему Parent. Если в этой подсистеме уже есть блок с таким же именем, имя блока-копии будет скорректировано так, чтобы быть уникальным в подсистеме. Точкой привязки нового блока (для блоков с векторной картинкой – положением начала координат этой картинки, для программно рисуемых блоков и блоков, изображаемых прямоугольником с текстом – координатами левого верхнего угла изображения) станут значения из параметров x и y.

Следует помнить, что новый блок может быть добавлен в схему не немедленно: если в данный момент идет расчет, добавление будет отложено до конца очередного такта.

Пример

Пример использования функции rdsDuplicateBlock приведен в §2.16.2 руководства программиста.

См. также

rdsCreateBlockFromFile, rdsDeleteBlock, rdsMakeUniqueBlockName.