Главная страница
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.068 c
15-1350908665
Grimm375
2012-10-22 16:24
2013.03.22
перевести на английский


15-1339585593
KSergey
2012-06-13 15:06
2013.03.22
Про собеседы-то зачем ветку удалили?!


15-1331411403
Юрий
2012-03-11 00:30
2013.03.22
С днем рождения ! 11 марта 2012 воскресенье


15-1339161690
Unk
2012-06-08 17:21
2013.03.22
Почему статьи не дополняются?


15-1346515594
Artem
2012-09-01 20:06
2013.03.22
Как передать файл на 2 Мб на древний DOS ноутбук?