Приложения
Приложение А. Функции, константы и структуры RDS
А.5. Сервисные функции и макросы RDS
А.5.35. Функции поддержки автоматической компиляции моделей
А.5.35.4. rdscompGetModelBlock – обслуживаемый моделью блок по номеру
Функция rdscompGetModelBlock возвращает идентификатор одного из блоков, с которым связана указанная автокомпилируемая модель. Блок выбирается из списка блоков модели по указанному условному номеру.
RDS_BHANDLE RDSCALL rdscompGetModelBlock( RDS_MODELHANDLE Model, // Модель int BlockNum, // Номер блока RDS_PBLOCKDESCRIPTION pDescr // Описание блока );
Тип указателя на эту функцию
RDS_BhMhIBd
Параметры
- Model (RDS_MODELHANDLE)
- Идентификатор автокомпилируемой модели, для которой нужно найти обслуживаемый блок.
- BlockNum (int)
- Номер блока во внутреннем списке блоков, обслуживаемых моделью Model. Блоки в списке нумеруются начиная с нуля.
- pDescr (RDS_PBLOCKDESCRIPTION)
- Указатель на структуру описания RDS_BLOCKDESCRIPTION, которую функция должна заполнить параметрами найденного блока. Если вызывающей программе не нужно описание блока, в этом параметре можно передать NULL.
Возвращаемое значение
Идентификатор найденного блока (RDS_BHANDLE) или NULL, если модель в данный момент обслуживает меньше BlockNum+1 блоков (то есть номер BlockNum выходит за пределы размера списка блоков модели).
Примечания
Эта функция обычно используется для перебора всех блоков, обслуживаемых конкретной моделью, и выполнения с ними каких-либо действий (например, присвоения им описанной в модели структуры статических переменных). Параметр BlockNum при этом изменяется от нуля до значения, на единицу меньшего поля NBlocks структуры данных модели RDS_COMPMODELDATA.
Следует помнить, что номер во внутреннем списке модели, который получит блок, определяется внутренней логикой RDS и не может быть определен заранее, при этом этот номер может, к тому же, изменяться со временем.
Пример
Пример использования функции rdscompGetModelBlock приведен в §3.4 руководства программиста.
См. также