Определить переменную с "Inaccessible value" без try-except

kopiev
Дата: 10.12.2019 13:24:04
Всем привет.
Проблема - желательно определить валидность переменной с объектом без блока try-except. Если переменная "VarObj" содержит 'Inaccessible value', то она и "Assigned(VarObj) = true" и "VarObj <> nil".

Например, у TComponent есть атрибут "VarObj.Tag", который у такой переменной имеет судя по всему случайные значения. Все остальные выдают ошибку. То есть только проверка "VarObj.Tag = $0"? И в атрибуте "Tag" могут хранить данные.

Есть более надежный способ, для любого TObject?

ЗС
DimaBr
Дата: 10.12.2019 13:29:12
автор
TComponent есть атрибут "VarObj.Tag", который у такой переменной имеет судя по всему случайные значения

TComponent.Tag не имеет случайных значений
Александр Спелицин
Дата: 10.12.2019 13:36:31
Никак.
Вам придется писать свой "диспетчер", который будет создавать и удалять экземпляры нужного класса, хранить их списки.И только он и никто другой. И тогда все эти вопросы исчезнут сразу.
Dimitry Sibiryakov
Дата: 10.12.2019 13:36:58

kopiev
Есть более надежный способ, для любого TObject?

Есть: надо жёстко контролировать ход выполнения своей программы и точно знать время жизни
каждого объекта.

Как временную заглушку для слабых духом можно использовать FreeAndNil.

Posted via ActualForum NNTP Server 1.5

Василий 2
Дата: 10.12.2019 14:20:45
Есть вариант, но т.к. подозреваю, что это попытка излечить кариес созданием киберпротеза всей головы, озвучивать не буду, пока ТС не объяснит, зачем ему это надо