![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 01.09.2009
Сообщений: 151
|
![]()
Здравствуйте.
В очередной раз столкнулся с такой проблемой: "Как узнать, существует ли объект на который ссылается указатель". Приведу пример: Код:
Assigned can't detect a dangling pointer--that is, one that isn't nil but no longer points to valid data. For example, in the code example for Assigned, Assigned won't detect the fact that P isn't valid. Если говорить простыми словами, там написано, что использовать Assigned() для определения "висячих" объектов - это не вариант и вообще ничего не сказано про то, что в таких случаях следует делать. На форумах по этому поводу сказано, что надо обнулять объекты при освобождении и т.д. Но конкретно по решению проблемы я так ничего не нашёл, кроме совета оборачивать подобные вызова в try ... except ... end;. Как видно из приведённого примера проблему это решает лишь отчасти. Тем не менее, раз можно отловить ошибку через исключения, то наверняка должен быть способ сделать это мирно (без жертв, так сказать)? |
![]() |
![]() |
![]() |
#2 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Мне кажется конкретного решения нет, если даже майкрософт советует использовать исключения вместо API'шных IsBad***Ptr
пыщь
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как обойти "преобразование типа из "string" в "float" невозможно" | lexluter1988 | Помощь студентам | 1 | 07.08.2010 12:23 |
несколько объектов в макросе "ЗадатьЗначение" | vlad_stv | Microsoft Office Access | 1 | 03.03.2010 14:32 |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |
Отлов "повисания" | Teksa | Microsoft Office Word | 3 | 30.04.2009 20:40 |