друзья , все нашел {attribute 'pack_mode' := '1'}
просто думал что где то галочку надо воткнуть. но нет, атрибут компилятора прям в структуре
Вид для печати
друзья , все нашел {attribute 'pack_mode' := '1'}
просто думал что где то галочку надо воткнуть. но нет, атрибут компилятора прям в структуре
Написал свою бибку для CDS3. Добавляю в проект, все внутренности видятся только через дополнительное пространство имен.
Например, хочу добавить в проект структуру из библиотеки. нужно объявлять так: <имя переменной>:<дополнительное имя бибки>.<имя структуры>;
а хочется так: <имя переменной>:<имя структуры>;
Кто знает, что и где подкрутить в библиотеке, чтобы без лишней бижутерии все объявлялось? :)
У вас при объявлении структуры, скорее всего, указан атрибут attribute ‘qualified_only’ (он устанавливается по умолчанию), который отвечает за это поведение.
И это правильно - потому что автор другой библиотеки может выбрать для одного из своих компонентов такое же имя, как и у вас - и пространство имен в этом случае позволит компилятору понять, что именно вы хотите объявить.
нет, никаких атрибутов ни где не указано. или он даже если его нет явно компилятором применяется? как отменить или какой может противоположный атрибут есть? страсть как неудобно все объявления перелопачивать. в других библиотеках же (например в ваших) такого же нет...
Для типа IoDrvModbusTCP.ModbusTCPSlave_Diag в документации выстраивается такая иерархия наследования: ModbusTCPSlave <- ModbusTCPSlaveBase <- IoDrvModbusBase.ModbusSlaveBase , а в IoDrvModbusBase никакого ModbusSlaveBase не находится. Я так понимаю, он объявлен в закрытой части библиотеки?
Интересен он тем, что в нём, похоже, объявлены методы AllocChannels и FreeChannels. Если по первому методу ещё всплывает какая-то подсказка относительно входных переменных, то по второму -- увы, пусто. Хотелось бы знать, как можно добраться до этих скрытых методов, или до их документации, не забираясь вглубь бинарников.
Попробуйте вот этот ключ оставить пустым или удалить.
Вложение 52429
> какую практическую задачу вы пытаетесь решить
Автоматизация настройки проекта. Скорее, с теоретической точки зрения интересно. Но если получится -- тоже хорошо будет.
> Чем вам не подходит настройка слэйва через дерево проекта?
Не знаю, как можно это автоматизировать.
Вы можете использовать библиотеку OwenCommunication - она позволяет организовать обмен исключительно кодом, без настройки через дерево проекта.
https://owen.ru/forum/showthread.php?t=31816
Спасибо, интересно, буду смотреть.