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

Вниз

вот такой вот вопрос   Найти похожие ветки 

 
Palladin   (2002-11-30 23:22) [0]

освобождается ли класс переданный параметром процедуре...
для ясности напишу две вещи

Описание:
TSimplyClass=class
private
m_Memo:TMemo;
public
constructor Create(Memo:TMemo);
destructor Destroy;override;
property PrMemo:TMemo read m_Memo;
end;

constructor TSimplyClass.Create;
begin
m_Memo:=Memo;
m_Memo.Lines.Add("Created");
end;

destructor TSimplyClass.Destroy;
begin
m_Memo.Lines.Add("Destroyed");
end;

и вот такая вещь первая:

procedure MyDestroy(var aClass:TSimplyClass);
begin
aClass.free;
end;


эксперимент:
sc:=TSimplyClass.Create(Memo1);
MyDestroy(sc);
sc.PrMemo.Lines.Add("ква ква");


1. Освободится или нет?
2. Должна ли переменная класса в nil устанавливатся при осбождении? Судя по всему не устанавливается так так "ква ква" благополучно добавилось в мемо...

и вторая вещь: если так
передаем не ссылку на ссылку :) а саму ссылку... хотя не знаю... может и в первом случае тоже сам класс передается...

procedure MyDestroy(aClass:TObject); begin
aClass.free;
end;


и в этом случае та же самая ситуация что и в первом... "ква ква" прекрасно влезает в мемо
разъясните механизм плиз... :(


 
TTCustomDelphiMaster   (2002-11-30 23:51) [1]

1. Освободится или нет?

Освободится.

2. Должна ли переменная класса в nil устанавливатся при осбождении?

Не должна. Если нужно устанавливайте сами.

разъясните механизм плиз

После освобождения объекта, память занимаемая им содержит ту же информацию что и при жизни объекта, пока не будет занята под что то другое. При этом ничто не мешает программе работать так, как будто объект не был удален (жизнь после смерти :)


 
Palladin   (2002-11-30 23:55) [2]

:)
круто :)
все мы там будем... хорошо если не затрут :)
спасибо...



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

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

Наверх





Память: 0.44 MB
Время: 0.005 c
1-36263
vanya
2002-12-02 12:01
2002.12.12
Форма поверх всех окон


1-36096
OlDemon
2002-12-01 16:10
2002.12.12
Работа с принтером


14-36375
Nox
2002-11-21 14:54
2002.12.12
Кто сдавал Единый гос-ный?


14-36391
ruslanyd
2002-11-21 12:05
2002.12.12
Упаковка/распаковка файлов


14-36337
Ketmar
2002-11-16 19:15
2002.12.12
господа lj-шники, а кто меня поможет туда попасть?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский