не например не обычный указатель?
обычный указатель - это что в данном случае может быть? По стуи все внутри - указатель на объект. Перед действием -я как раз проверяю: If (TObject(p) is TLabeledEdit) Then
Проверять. Все. За Всеми. Верить нельзя никому. И хорошо, если ты можешь устанавливать правила игры. А если нет. Вот есть проект. Там охрененный по сложности фреймворк внутри. Дженереки, анонимки в полный рост. И в 80% методов параметр Pointer. Бл. Потому что VirtualTreeView. И исправить/рефакторить без шансов. Потому что саппорт и развитие проекта осуществляют 3 фирмы. Одновременно.
как проверить поинтер на принадлежность к TObject? If (TObject(p) is TLabeledEdit) Then - это ж не работает...
По-хорошему это сделать никак нельзя, но можно попробовать посмотреть в сторону VMT.
Так никто не заставляет внутрь VTV класть нетипизиронные указатели. По задумке автора туда кладутся ^record, внутри которых уже полный контроль типов
ну вообще были варианты. но не 100%
Обсуждают сегодня