powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удаление объекта
5 сообщений из 5, страница 1 из 1
Удаление объекта
    #33280432
bob_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создаю объект: myObject = NEWOBJECT("SomeName","SomeClass",etc).
Пробовал myObject = .NULL. , но имею основания подозревать, что просто очищается ссылка на объект, а сам объект по прежнему продолжает существовать.
Как мне его удалить?
...
Рейтинг: 0 / 0
Удаление объекта
    #33280467
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вообще если объект объявить локально

local ....
.... = newob()

после возврата из процедуры он сам умрет


а так

myobject.release()
...
Рейтинг: 0 / 0
Удаление объекта
    #33281035
bob_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я от Custom наследую, там .Release() нет.
...
Рейтинг: 0 / 0
Удаление объекта
    #33281231
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
изв.

release myobject
...
Рейтинг: 0 / 0
Удаление объекта
    #33284881
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi bob_j!

> Пробовал myObject = .NULL. , но имею основания подозревать, что просто
> очищается ссылка на объект, а сам объект по прежнему продолжает
существовать.

1) От чего такие подозрения?
2) Да, конечно уничтожается именно ссылка, НО если больше ссылок на объект
(или на его member-объекты) нет, то и сам объект уничтожается.

> Как мне его удалить?

1) Есть способ "принудительного" удаления объекта - RELEASE This (он
аналогичен методу Release для форм) - при этом ВСЕ ссылки на данный объект
"зануляются" - т.е. становятся равны .NULL.
2) НО если есть ссылки на "вложенные" member-объекты, то ничего не поможет -
надо явно убивать и эти ссылки. Сделать это можно несколькими способами -
начиная от "грубого" MainObj.RemoveObject("ChildObj"), или более мягко - из
контекста (т.е. метода) этого самого member-объекта дать команду RELEASE
This - это занулит все ссылки (но если вложенных объектов много, то придётся
писать код для обхода и "освобождения" их всех).
3) Ну и наконец простое правило - аккуратно работать со ссылками и просто НЕ
СОЗДАВАТЬ ситуаций с подвисшими ссылками, мешающими уничтожению объектов.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удаление объекта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]