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

Приложения

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

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

А.5.35. Функции поддержки автоматической компиляции моделей

А.5.35.14. rdscompSetBlockModel – подключить модель к блоку

Функция rdscompSetBlockModel подключает к указанному блоку автоматически компилируемую модель с указанными параметрами.

  int  rdscompSetBlockModelA(
     Block        // Идентификатор блока
     CompModuleName,  // DLL модуля автокомпиляции (UTF8)
     CompModuleFunc,  // Функция модуля автокомпиляции (UTF8)
     ModelName,       // Имя модели (UTF8)
     AltModelName     // Альтернативное имя модели (UTF8)
  );
  int  rdscompSetBlockModelW(
     Block        // Идентификатор блока
     CompModuleName, // DLL модуля автокомпиляции (UTF16)
     CompModuleFunc, // Функция модуля автокомпиляции (UTF16)
     ModelName,      // Имя модели (UTF16)
     AltModelName    // Альтернативное имя модели (UTF16)
  );
  // 
  int  rdscompSetBlockModel(
     Block        // Идентификатор блока
     CompModuleName, // DLL модуля автокомпиляции (кодировка по умолчанию)
     CompModuleFunc, // Функция модуля автокомпиляции (кодировка по умолчанию)
     ModelName,      // Имя модели (кодировка по умолчанию)
     AltModelName    // Альтернативное имя модели (кодировка по умолчанию)
  );

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

RDS_IBhSSSS (для UTF8) или RDS_IBhWsWsWsWs (для UTF16)

Параметры

Block (RDS_BHANDLE)
Идентификатор блока, к которому подключается модель.
CompModuleName (RDSCSTR, RDSWCSTR, RDSXCSTR)
Указатель на строку с именем файла DLL, в которой находится модуль автокомпиляции, который будет обслуживать подключаемую модель. Имя файла может содержать символические обозначения стандартных папок RDS. Если в имени файла нет пути, он будет считаться находящимся в одной папке с загруженной схемой. Для отключения автокомпилируемой модели от блока в этом параметре можно передать NULL (остальные параметры при этом игнорируются).
CompModuleFunc (, , )
Указатель на строку с именем функции модуля автокомпиляции, экспортированной из файла CompModuleName. RDS будет использовать эту строку для поиска этой функции в DLL, передавая ее в параметре функции Windows API GetProcAddress.
ModelName (, , )
Указатель на строку с именем подключаемой модели.
AltModelName (, , )
Указатель на строку с альтернативным именем подключаемой модели, или NULL, если у модели нет альтернативного имени.

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

Одна из констант RDS_FRESULT_*, указывающая на результат выполнения функции:

RDS_FRESULT_OK Модель подключена.
RDS_FRESULT_ERROR Ошибка (нет указанного файла DLL, не экспортирована указанная функция и т.п.).
RDS_FRESULT_DELAYED Выполнение функции отложено.

Примечания

Эта функция информирует RDS о необходимости подключить к блоку Block новую автоматически компилируемую модель или отключить ее совсем (для этого в CompModuleName передается NULL).

Если в момент вызова функции RDS находится в режиме расчета, функция вызвана из какой-либо реакции блока Block или модуля, обслуживающего именно эту модель, подключение новой модели будет отложено до завершения очередного такта расчета или соответствующей реакции, при этом функция вернет константу RDS_FRESULT_DELAYED.

Наиболее часто встречающееся применение этой функции – добавление в редактор модели возможности выделения одного из блоков и подключения к нему альтернативной версии модели, изменения в которой не будут влиять на остальные блоки.


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