powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / CREATEOBJECT->_O=OBJECT->RELEASE
4 сообщений из 4, страница 1 из 1
CREATEOBJECT->_O=OBJECT->RELEASE
    #32531914
ilya79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Непонятно что происходит с памятью в такой цепочке (внятного пояснения в хелпе нет):

_o = CREATEOBJECT

this.ObjKeeper = _o

RELEASE this.ObjKeeper -> Автоматически или ручками ?
...
Рейтинг: 0 / 0
CREATEOBJECT->_O=OBJECT->RELEASE
    #32532320
Равиль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:) Филосовский вопрос. По моему скромному мнению:
1. Release не применяется к свойствам. Они сами удаляются из памяти при Release их контейнера (формы и т.п.). Любопытно, что есть метод AddProperty(), а что-то типа RemoveProperty() я не нашел ...
2. Если существует хотя бы одна ссылка на объект, то он продолжает существовать в памяти.
Поэтому все зависит от области видимости имени _O.
Если после закрытия формы _O продолжает существовать (например была объявлена Public), то для удаления объекта придется делать Release _O.
В твоем случае похоже все нормально удаляется - переменная заранее не объявлена и удалаяется из памяти вместе с контейнером твоего метода.
...
Рейтинг: 0 / 0
CREATEOBJECT->_O=OBJECT->RELEASE
    #32532800
Смотря что запускать через CREATEOBJECT.
Если COM-сервер, выполняющийся в собственном процессе (например, Excel), то ссылочную переменную можно удалить или присвоить её чего-нибудь, на жизни объекта это никак не скажется.
Если же объект запускается в текущем процессе (например, форма), то RELEASE приведёт к уничтожению объекта.

to Ilya79:
Может, Вам подойдёт такой код? Зачем Вам нужны дополнительные ссылки?
Код: plaintext
1.
2.
3.
4.
this.ObjKeeper = CREATEOBJECT('MyForm') && Создать форму
this.ObjKeeper.Show() && запустить как немодальную
* Ваш код
this.ObjKeeper.release  && Уничтожить форму
...
Рейтинг: 0 / 0
CREATEOBJECT->_O=OBJECT->RELEASE
    #32532942
Равиль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, Вячеслав, согласен - про OLE-объекты я не подумал :)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / CREATEOBJECT->_O=OBJECT->RELEASE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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