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

Приложения

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

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

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

А.3.4.21. RDS_COMPM_STRUCTCHANGE – изменение структуры

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

Константа RDS_COMPM_STRUCTCHANGE.

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

Указатель на структуру RDS_COMPSTRUCTCHGDATA, содержащую имя изменившейся структуры.

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

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

Примечания

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

В параметре ExtParam при реакции на это событие передается указатель на структуру RDS_COMPSTRUCTCHGDATA:

  typedef struct {
     OldStructTypeA;    // Имя типа структуры до изменения (UTF8)
     OldStructTypeW;   // Имя типа структуры до изменения (UTF16)
    // OldStructType;  // Имя типа структуры до изменения ()
     NewStructTypeA;    // Имя типа структуры после изменения (UTF8)
     NewStructTypeW;   // Имя типа структуры после изменения (UTF16)
    // NewStructType;  // Имя типа структуры после изменения ()
     Renamed;              // Структура переименована
  } RDS_COMPSTRUCTCHGDATA;
  typedef RDS_COMPSTRUCTCHGDATA *RDS_PCOMPSTRUCTCHGDATA;

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

OldStructTypeA (RDSCSTR), OldStructTypeW (RDSWCSTR), OldStructType (RDSXCSTR)
Указатель на строку с именем типа структуры до редактирования. Под этим именем данная структура была известна модулю до ее изменения. Строка находится во внутренней памяти RDS, функция модуля не должна изменять ее.
NewStructTypeA (), NewStructTypeW (), NewStructType ()
Указатель на строку с именем типа структуры после редактирования. Строка находится во внутренней памяти RDS, функция модуля не должна изменять ее.
Renamed (BOOL)
TRUE, если структура была переименована (то есть если OldStructType не совпадает с NewStructType), FALSE в противном случае.

См. также

RDS_COMPM_GETOPTIONS.


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