Навигация:
<< >> Оглавление Указатель

Приложения

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

А.3. События модуля автокомпиляции и связанные с ними структуры

А.3.4. События модуля автокомпиляции

А.3.4.1. RDS_COMPM_ATTACHBLOCK – подключение модели к блоку

Первый параметр функции модуля (int CallMode)

Константа RDS_COMPM_ATTACHBLOCK.

Третий параметр функции модуля (void *ExtParam)

Указатель на структуру RDS_COMPBLOCKOPDATA, содержащую идентификатор блока, идентификатор подключаемой к нему модели и причину подключения.

Возвращаемое функцией модуля значение

Не используется, можно возвращать любое значение.

Примечания

Событие RDS_COMPM_ATTACHBLOCK возникает при подключении очередного блока к модели, то есть при включении в параметрах этого блока автоматической компиляции его модели с указанием данного модуля автокомпиляции в качестве обслуживающего модель. Подключение блока к модели происходит при указании имени модели в окне параметров блока, при загрузке схемы с блоками, модели которых компилируются автоматически, при вставке таких блоков из буфера обмена и т.п, то есть во всех случаях, когда RDS устанавливает связь между автокомпилируемой моделью и блоком. Обычно в реакции на это событие параметры блока приводятся в соответствие с моделью, например, блоку назначается указанная в модели структура статических переменных.

В параметре ExtParam при реакции на это событие передается указатель на структуру RDS_COMPBLOCKOPDATA (эта же структура используется и в реакции на событие RDS_COMPM_DETACHBLOCK):

  typedef struct {
     Model; // Данные модели
     Block;        // Идентификатор блока
     AttachReason;    // Причина подключения блока
                              // (константа RDS_COMP_AR_*)
  } RDS_COMPBLOCKOPDATA;
  typedef RDS_COMPBLOCKOPDATA *RDS_PCOMPBLOCKOPDATA;

Поля структуры

Model (RDS_PCOMPMODELDATA)
Указатель на данные модели (RDS_COMPMODELDATA), подключаемой к блоку в реакции на RDS_COMPM_ATTACHBLOCK или отключаемой от него в реакции на RDS_COMPM_DETACHBLOCK.
Block (RDS_BHANDLE)
Уникальный идентификатор блока, изменение параметров которого вызвало это событие.
AttachReason (RDSINT32)
Причина подключения модели к блоку (не используется в реакции на событие отключения модели). В этом поле может находиться одна из следующих констант:
RDS_COMP_AR_LOADSYSTEM Модель подключается к блоку в процессе загрузки всей схемы.
RDS_COMP_AR_LOADCLIPBRD Модель подключается к новому блоку, вставляемому из буфера обмена.
RDS_COMP_AR_LOADFROMFILE Модель подключается к новому блоку, вставляемому из файла или библиотеки.
RDS_COMP_AR_LOADUNDO Имя подключенной к блоку модели изменилось из-за отмены изменений пользователем или возврата ранее отмененных изменений.
RDS_COMP_AR_MANUALSET Новая модель задана для блока пользователем в окне параметров или вызовом одной из сервисных функций – например, rdscompSetBlockModel.
RDS_COMP_AR_RENAMEMODEL Модель переименована – производится подключение всех обслуживавшихся ей блоков к модели с новым именем.
RDS_COMP_AR_UNKNOWN Прочие причины изменения имени автокомпилируемой модели блока.

Пример

Пример реакции модуля на событие RDS_COMPM_ATTACHBLOCK приведен в §3.4 руководства программиста.

См. также

RDS_COMPM_DETACHBLOCK, rdscompSetBlockModel, rdscompAttachDifferentModel, rdscompRenameModel.


<< >> Оглавление Указатель