Добрый день.
Как в CDS осуществить проверку указателя на Null?
Добрый день.
Как в CDS осуществить проверку указателя на Null?
Проверяйте равенство указателя с нулем.
Вообще-то я так никогда не делаю, не знаю где это может понадобиться.
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
plist ->(pnext->)->(pnext->)->(pnext=nil)
простейший односвязный список из 3х объектов.
PS
Прогон неких фб из списка
обмен/архивация/события/...Код:pcurrent := plist; while pcurrent <> nil do pcurrent^(pnext => pcurrent); end_while
Последний раз редактировалось Валенок; 22.08.2015 в 11:50.
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
В данном случае - искусственный т.к. является принудительно устанавливаемым при инициализации объекта в выделенном куске памяти.
Но вот при выделении самого участка памяти для объекта (из кучи) - может вернутся и случайный что будет является всего лишь признаком невозможности расширении списка а не перезагрузки ПЛК.
Любой проект является как бы (С) а возможные области применения я показал. Именно там я их и применяю.
Например архивация.
Объекты генерят события в динамический список.
При ненаступлении некоторых критических событий часть событий самоуничтожается (чтоб не плодить избыточную инфу)
Архиватор формирует из нужных событий буфер
Буфер при превышении 512 байт сливает окно (512 байт) в архив флеша
Рез-т : Имеем архив важных событий с подробной ситуацией перед наступлением аварий.