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

Вниз

Течет память. Кто виноват и что делать?   Найти похожие ветки 

 
pasha_golub ©   (2012-10-17 11:10) [0]

Привет всем.

Наткнулся на примечательный баг.


procedure CheckError;
var E: pointer;
begin
 E := AcquireExceptionObject;
 if Assigned(E) then
   ShowMessage(TObject(E).ToString);
 ReleaseExceptionObject;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 try
   raise EAbort.Create("Error Message");
 except
   CheckError;
 end;
end;


Этот код течет. Утекают объекты Exception.

Я знаю, что можно сделать raise. Но я следую букве мануала, гласящего:


AcquireExceptionObject increments the exception object"s reference count. Make sure that the reference count is decremented when the exception object is no longer needed. This happens automatically if you use the exception object to raise the exception again. In all other cases, every call to AcquireExceptionObject must have a matching call to ReleaseExceptionObject. AcquireExceptionObject/ReleaseExceptionObject sequences can be nested.


 
Rouse_ ©   (2012-10-17 11:19) [1]

http://qc.embarcadero.com/wc/qcmain.aspx?d=5815


 
pasha_golub ©   (2012-10-17 11:25) [2]


> Rouse_ ©

Какого ж рожна они тогда в мануале сносок не сделают?


 
Rouse_ ©   (2012-10-17 11:46) [3]


> pasha_golub ©   (17.10.12 11:25) [2]
> Какого ж рожна они тогда в мануале сносок не сделают?

Ты действительно думаешь что я смогу ответить на этот вопрос? :)))


 
pasha_golub ©   (2012-10-17 12:37) [4]


> Ты действительно думаешь что я смогу ответить на этот вопрос?
>  :)))

Ну ты ж там в курилках вёл душеспасительные беседы ;)


 
Германн ©   (2012-10-17 12:44) [5]


> Ты действительно думаешь что я смогу ответить на этот вопрос?

Он готовится к КМП :)


 
Jeer ©   (2012-10-17 18:27) [6]

"Если течет - вызвать сантехника или сменить памперс" (С)


 
Rouse_ ©   (2012-10-17 19:10) [7]


> pasha_golub ©   (17.10.12 12:37) [4]
> Ну ты ж там в курилках вёл душеспасительные беседы ;)

Ну так я и с тобой их веду и по аське и лично, много я о твоей работе рассказать могу? :)



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

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.048 c
15-1331641742
Kerk
2012-03-13 16:29
2013.03.22
Про профессию


4-1260273994
Суслик_
2009-12-08 15:06
2013.03.22
Ошибка 1265 и именованные каналы - проблема


15-1333798232
ProgRAMmer Dimonych
2012-04-07 15:30
2013.03.22
Шаблон консольного приложения Delphi 7


15-1349167256
AV
2012-10-02 12:40
2013.03.22
Теоретически можно брать байты из файла и выполнять как код?


15-1332013809
V_a_d
2012-03-17 23:50
2013.03.22
PopupMenu