Приложения
Приложение А. Функции, константы и структуры RDS
А.5. Сервисные функции и макросы RDS
А.5.6. Операции с блоками и связями
А.5.6.48. rdsSetBlockModel – подключить к блоку модель
Функция rdsSetBlockModel подключает к указанному блоку новую функцию модели.
BOOL RDSCALL rdsSetBlockModelA( RDS_BHANDLE Block, // Блок RDSCSTR DllFile, // Имя файла DLL (UTF8) RDSCSTR FunctionName // Имя экспортированной функции (UTF8) ); BOOL RDSCALL rdsSetBlockModelW( RDS_BHANDLE Block, // Блок RDSWCSTR DllFile, // Имя файла DLL (UTF16) RDSWCSTR FunctionName // Имя экспортированной функции (UTF16) ); // Функция-псевдоним BOOL RDSCALL rdsSetBlockModel( RDS_BHANDLE Block, // Блок RDSXCSTR DllFile, // Имя файла DLL (кодировка по умолчанию) RDSXCSTR FunctionName // Имя экспортированной функции (кодировка по умолчанию) );
Тип указателя на эту функцию
RDS_BBhSS (для UTF8) или RDS_BBhWsWs (для UTF16)
Параметры
- Block (RDS_BHANDLE)
- Идентификатор блока.
- DllFile (RDSCSTR, RDSWCSTR, RDSXCSTR)
- Указатель на строку, содержащую путь к DLL с функцией модели. В строке пути могут использоваться стандартные символические обозначения RDS. Если нужно отключить от блока текущую модель не подключая новой, в этом параметре можно передать NULL.
- StrCaption (RDSCSTR, RDSWCSTR, RDSXCSTR)
- Указатель на строку, содержащую имя экспортированной из DLL функции модели (в том виде, в котором ее можно обработать функцией Windows API GetProcAddress).
Возвращаемое значение
TRUE, если операция выполнена успешно, FALSE в противном случае (например, если нет файла DLL или указанная функция не экспортирована).
Примечания
Эта функция сначала отключает от блока старую модель, а затем подключает новую, если она указана. Если функция вызвана из режима расчета или для смены модели вызвавшего блока, ее выполнение будет отложено до завершения модели блока или, в случае режима расчета, до завершения очередного такта. При таком отложенном выполнении функция вернет FALSE, если смена модели невозможна: например, если на момент вызова файл, указанный в параметре DllFile, отсутствует, функция немедленно вернет FALSE и смена модели блока запланирована не будет.
См. также