В этом разделе описывается настройка настраиваемого встроенного целевого объекта для поддержки управления интерфейсом класса C++. Без описанных изменений вы не сможете использовать C++ class пакет интерфейса кода для создания и конфигурирования интерфейсов класса C++ к коду модели. Дополнительные сведения об управлении интерфейсом класса C++ см. в разделе Интерактивная настройка интерфейса C++ (встроенный кодер).
Требования к поддержке управления интерфейсом класса C++ следующие:
Целевой объект должен быть получен из целевого файла системы ERT.
Системный целевой файл должен объявить соответствие класса C++ управлению интерфейсом, как описано в разделе Объявление соответствия класса C++ управлению интерфейсом.
Пример настройки настраиваемых целевых дополнительных функций см. в разделе Настройка системных целевых файлов.
Чтобы объявить соответствие управления интерфейсом класса C++ для целевого объекта, необходимо реализовать функцию обратного вызова, которая устанавливает CPPClassGenCompliant флаг, а затем установите функцию обратного вызова в SelectCallback области rtwgensettings структура в целевом системном файле. Функция обратного вызова запускается всякий раз, когда пользователь выбирает целевой объект в обозревателе системных целевых файлов. Например, следующий код целевого файла системы устанавливает SelectCallback функция с именем custom_select_callback_handler:
rtwgensettings.SelectCallback = 'custom_select_callback_handler(hDlg,hSrc)';
Аргументы для SelectCallback функция (hDlg, hSrc) являются дескрипторами личных данных, используемых функциями API обратного вызова. Эти дескрипторы ограничены для использования в функциях обратного вызова целевого файла системы. Они должны быть переданы без изменений.
Функция обратного вызова должна установить CPPClassGenCompliant флаг следующим образом:
slConfigUISetVal(hDlg,hSrc,'CPPClassGenCompliant','on'); slConfigUISetEnabled(hDlg,hSrc,'CPPClassGenCompliant',false); hSrc.refreshDialog;
Дополнительные сведения об API обратного вызова целевого файла см. в разделе slConfigUIGetVal, slConfigUISetEnabled, и slConfigUISetVal страницы ссылок на функции.
Когда CPPClassGenCompliant целевой параметр конфигурации имеет значение on, вы можете использовать C++ class пакет интерфейса кода для создания и конфигурирования интерфейсов класса C++ к коду модели.
Выбор C++ class кодовая упаковка интерфейса для модели включает параметр конфигурации модели Создать пример основной программы. При выборе этого параметра генератор кода создает пример основной программы ,ert_main.cpp. Генерируемый пример основной программы объявляет данные модели и вызывает метод шага модели, сконфигурированный для интерфейса класса C++, и иллюстрирует, как генерируемый код может быть развернут.
Чтобы настроить процесс сборки и отключить генерацию и включение примера основной программы, см. setTargetProvidesMain (Встроенный кодер). Отключение примера разрешения основного поколения, включая пользовательскую основную программу.