Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.045 c
15-1350276996
OlegSem
2012-10-15 08:56
2013.03.22
Windows


2-1343559977
Дмитрий
2012-07-29 15:06
2013.03.22
Логика сравнения


2-1341408918
%s
2012-07-04 17:35
2013.03.22
вывод даты


15-1340213921
Kerk
2012-06-20 21:38
2013.03.22
30 лет спустя


2-1342447542
Sergio_Leone
2012-07-16 18:05
2013.03.22
Как определить запуск 3D приложения?




   Наверх