Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.08.10;
Скачать: [xml.tar.bz2];

Вниз

Поля классов.   Найти похожие ветки 

 
pathfinder ©   (2008-07-10 15:01) [0]

Добрый день!

Подскажите пожалуйста, что происходит с полями классов при завершении приложения. Будет ли уничтожен объект SomeObject?


type
 TSomeClass = class
   class var
     SomeObject: TSomeObject;
 end;


 
www   (2008-07-10 15:03) [1]


>  Будет ли уничтожен объект SomeObject?

в деструкторе пропиши


 
pathfinder ©   (2008-07-10 15:04) [2]


> в деструкторе пропиши


Ну это понятно, а если не прописывать?


 
Dennis I. Komarov ©   (2008-07-10 15:04) [3]

> при завершении приложения. Будет ли уничтожен...

ИМХО будет.


 
Palladin ©   (2008-07-10 15:05) [4]

ничего не будет, комп не сгорит... просто объект останется в памяти и будет забыт до локального конца света


 
pathfinder ©   (2008-07-10 15:06) [5]


> ничего не будет, комп не сгорит... просто объект останется
> в памяти и будет забыт до локального конца света


Т.е. вы точно знаете, что delphi не уничтожает статические объекты?


 
Palladin ©   (2008-07-10 15:06) [6]


> pathfinder ©   (10.07.08 15:06) [5]

в делфи нет статических объектов


 
Поросенок Винни-Пух ©   (2008-07-10 15:07) [7]

Т.е. вы точно знаете, что delphi не уничтожает статические объекты?

Конечно нет. ПРосто потому что их там нет


 
Kolan ©   (2008-07-10 15:08) [8]

Конечно надо уничтожать вручную иначе - чистой воды утечка.


 
Dennis I. Komarov ©   (2008-07-10 15:09) [9]

> [8] Kolan ©   (10.07.08 15:08)

Даже если пипец приложению?


 
Поросенок Винни-Пух ©   (2008-07-10 15:09) [10]

Конечно надо уничтожать вручную иначе - чистой воды утечка.

Особенно если это просто ссылка на "компаньона".

TDataSource.Dataset

Убивая датасорс непременно надо пришить и его датасет?


 
pathfinder ©   (2008-07-10 15:10) [11]

Почему-то у меня поля класса ассоциировались со статическими объектами.

А в чем разница? В том, что если бы SomeObject был статическим объектом, то он и создавался бы сам?


 
Поросенок Винни-Пух ©   (2008-07-10 15:11) [12]

В том, что если бы SomeObject был статическим объектом, то он и создавался бы сам?

не сам а компилятором.


 
pathfinder ©   (2008-07-10 15:12) [13]


> не сам а компилятором.


Ну да, это я и хотел сказать:)


 
Palladin ©   (2008-07-10 15:13) [14]

есть понятие агрегации
есть понятие ассоциации

в делфи они практически означают одно и тоже, за исключением одного момента: объект владелец ассоциации не имеет права контролировать ее время жизни


> В том, что если бы SomeObject был статическим объектом,
> то он и создавался бы сам?

В том что SomeObject никак не мог бы им стать, соответственно этот вопрос никакого смысла не несет


 
pathfinder ©   (2008-07-10 15:15) [15]

Ну что же. Всем спасибо:)


 
DrPass ©   (2008-07-10 15:18) [16]


> Подскажите пожалуйста, что происходит с полями классов при
> завершении приложения. Будет ли уничтожен объект SomeObject?
>

И да, и нет. Да, потому что при завершении работы приложения вся выделенная ему память все равно освобождается, и SomeObject уйдет в небытие. Нет - в том смысле, что SomeObject не будет разрушен корректно. Т.е. не будет вызван деструктор, и если он при уничтожении должен выполнять какие-то действия, эти действия выполнены не будут


 
DrPass ©   (2008-07-10 15:18) [17]


> Подскажите пожалуйста, что происходит с полями классов при
> завершении приложения. Будет ли уничтожен объект SomeObject?
>

И да, и нет. Да, потому что при завершении работы приложения вся выделенная ему память все равно освобождается, и SomeObject уйдет в небытие. Нет - в том смысле, что SomeObject не будет разрушен корректно. Т.е. не будет вызван деструктор, и если он при уничтожении должен выполнять какие-то действия, эти действия выполнены не будут


 
tesseract ©   (2008-07-10 15:24) [18]


> Да, потому что при завершении работы приложения вся выделенная
> ему память все равно освобождается


Кроме глобальной, приложений лок с глоюальной не снимет - утечка будет иметь место, куча да - освободиться, но все обрывки COM и IStream остануться. Про win98 умалчиваем - даже куча останеться, где-то висеть.


 
Dennis I. Komarov ©   (2008-07-10 15:53) [19]

> [18] tesseract ©   (10.07.08 15:24)

Согласен. Уговорил :)


 
Игорь Шевченко ©   (2008-07-10 16:36) [20]


> Подскажите пожалуйста, что происходит с полями классов при
> завершении приложения. Будет ли уничтожен объект SomeObject?
>


Будет обязательно.


 
Kolan ©   (2008-07-10 16:45) [21]

> объект владелец ассоциации не имеет права контролировать
> ее время жизни

Обоснуй. :)


 
han_malign ©   (2008-07-10 16:51) [22]


> Обоснуй. :)


>> при завершении приложения
...


 
han_malign ©   (2008-07-10 16:52) [23]

упс, предпосылку перепутал...


 
oxffff ©   (2008-07-10 17:06) [24]


>
> pathfinder ©   (10.07.08 15:01)  
> Добрый день!
>
> Подскажите пожалуйста, что происходит с полями классов при
> завершении приложения. Будет ли уничтожен объект SomeObject?
>


А это от тебя зависит. Поскольку это не финализируемый тип.


 
Kolan ©   (2008-07-10 17:11) [25]

> есть понятие агрегации
> есть понятие ассоциации
>
> в делфи они практически означают одно и тоже

И кроме того, :), агрегация - это разновидность ассоциации.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.08.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.01 c
3-1203326673
DelphiN!
2008-02-18 12:24
2008.08.10
Сортировка в FireBird 1.5


15-1214066727
{RASkov}
2008-06-21 20:45
2008.08.10
Плавующая ошибка


15-1214475307
AEN
2008-06-26 14:15
2008.08.10
Сколько квадратных метров засеянной пшеницы...


2-1215448273
blazerad
2008-07-07 20:31
2008.08.10
Создание БД для Клиент сервера


6-1192002210
Rusya
2007-10-10 11:43
2008.08.10
Прогресс операции в TIdFTP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский