Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.08.10;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.015 c
15-1214071119
data
2008-06-21 21:58
2008.08.10
а я в отпуске))) пишу из Турции


15-1214478638
denic
2008-06-26 15:10
2008.08.10
Футбол на работе.


2-1215450480
Pasha L
2008-07-07 21:08
2008.08.10
ScrollBar.Position:=n без вызова OnChange


2-1215686856
TUserClass
2008-07-10 14:47
2008.08.10
Установить поле соответствия (Lookup := true) в DataSet ...


15-1214479595
Галинка
2008-06-26 15:26
2008.08.10
Мысли по поводу структуры XML