Просмотр полной версии : Разработка ФБ на C++
gregory9511
01.08.2025, 07:09
Добрый день. Делаю составной ФБ на С++, т.е. в этом ФБ будут экземпляры другого ФБ также написанного на С++, собственно вопрос - если тип(ФБ) создается как класс, можно ли определить функтор класса, чтобы вызывать экземпляр этого класса по типу языка ST - example(a,b); ?
Добрый день!
Для С++ вызов другого блока выглядит несколько сложнее.
Данный функционал реализован сейчас только в ST.
gregory9511
04.08.2025, 03:30
Я правильно понимаю, что в рамках полигона - прямого доступа к классу нет, соответственно объявить другой тип/блок/класс членом разрабатываемого класса невозможно, а язык ST полигон не поддерживает?
Объявить другой класс внутри блока возможно: объявление надо добавить в файл .hpp (он инклюдится внутрь основного класса), определение функций можно добавить в файл .cpp (единственная сложность это имя класса, оно будет составлено из префикса - имени раздела библиотеки, потом имя основного класса Вашего ФБ, потом :: и имя второго класса).
ST в Полигоне поддерживается внутри составных блоков, подробнее об этом написано в справке в разделе Структура проекта - Функциональный блок - Составной блок.
Если у Вас сложная система классов, то может имеет смысл написать библиотеку на С++?
gregory9511
06.08.2025, 08:17
Объявить другой класс внутри блока возможно: объявление надо добавить в файл .hpp (он инклюдится внутрь основного класса), определение функций можно добавить в файл .cpp (единственная сложность это имя класса, оно будет составлено из префикса - имени раздела библиотеки, потом имя основного класса Вашего ФБ, потом :: и имя второго класса).
Этот вариант я также рассматривал, но хочется все таки вызывать "по старинке".
Если у Вас сложная система классов, то может имеет смысл написать библиотеку на С++?
Сейчас реализовался на блоках, т.к. инструментария отладки кода для C++ пока нет. Я видимо плохо справку читал, но не увидел там инструкций по написанию библиотеки на C++
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot