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

Описания RDS

Приложения

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

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

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

А.3.4.3. RDS_COMPM_CANRENMODEL – проверка возможности переименования модели

# Приложения

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

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

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

##### А.3.4.3. RDS_COMPM_CANRENMODEL – проверка возможности переименования модели

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

Константа RDS_COMPM_CANRENMODEL.

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

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

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

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

Примечания

Событие RDS_COMPM_CANRENMODEL возникает перед переименованием модели, то есть перед тем, как имя модели будет изменено сервисной функцией rdscompRenameModel. Реагируя на это событие, модуль автокомпиляции может разрешить или запретить переименование модели. Если новое имя модели совпадает с каким-либо уже используемым именем модели в этом же модуле, при определенных параметрах функции rdscompRenameModel переименованная модель может заменить собой модель с совпавшим именем, то есть все блоки, ранее обслуживавшиеся той моделью, теперь будут обслуживаться переименованной.

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

      typedef struct {
        RDS_PCOMPMODELDATA Model; // Данные переименовываемой
                                  // (переименованной) модели
        RDSCSTR OldModelNameA;    // Старое имя модели (UTF8)
        RDSWCSTR OldModelNameW;   // Старое имя модели (UTF16)
        //RDSXCSTR OldModelName;  // Старое имя модели (поле-псевдоним)
        RDSCSTR NewModelNameA;    // Новое имя модели (UTF8)
        RDSWCSTR NewModelNameW;   // Новое имя модели (UTF16)
        //RDSXCSTR NewModelName;  // Новое имя модели (поле-псевдоним)
        BOOL AllowRename;         // Переименование разрешено
                                  // (возврат для RDS_COMPM_CANRENMODEL)
      } RDS_COMPMODELRENAMEDATA;
      typedef RDS_COMPMODELRENAMEDATA *RDS_PCOMPMODELRENAMEDATA;

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

Model(RDS_PCOMPMODELDATA)
  Указатель на структуру данных модели RDS_COMPMODELDATA, которая переименовывается (в реакции на RDS_COMPM_CANRENMODEL) или уже переименована (в реакции на RDS_COMPM_MODELRENAMED).
OldModelNameA(RDSCSTR),OldModelNameW(RDSWCSTR),OldModelName(RDSXCSTR)
  Указатель на строку во внутренней памяти RDS, содержащую имя модели до переименования. Функция модуля не должна изменять это поле.
NewModelNameA(RDSCSTR),NewModelNameW(RDSWCSTR),NewModelName(RDSXCSTR)
  Указатель на строку во внутренней памяти RDS, содержащую имя модели после переименования. Функция модуля не должна изменять это поле.
AllowRename(BOOL)
  Возвращаемый флаг разрешения переименования (только в реакции на RDS_COMPM_CANRENMODEL). По умолчанию в этом поле находится значение TRUE, означающее, что переименование разрешено. Если переименование запрещено, функция модуля должна записать в это поле значение FALSE.

См. также

RDS_COMPM_MODELRENAMED, rdscompRenameModel.