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

Вниз

Где у меня происходит утечка памяти? (менеджер задач так   Найти похожие ветки 

 
RV ©   (2002-09-17 10:05) [0]

говорит. Колонка память все время растет. А можть это нормально? begin
Result := "";
Flags := PRINTER_ENUM_LOCAL;
Count := 0;
EnumPrinters(Flags, nil, 2, nil, 0, Count, NumInfo);
if Count = 0 then Exit;
GetMem(Buffer, Count);
try
if not EnumPrinters(Flags, nil, 2, PByte(Buffer), Count, Count, NumInfo) then
Exit;
PrinterInfo := Buffer;
stroka:="";
try
for I := 0 to NumInfo - 1 do
with PPrinterInfo2(PrinterInfo)^ do
begin
OpenPrinter(pPrinterName,PrinterHandle,nil);
if EnumJobs(PrinterHandle,
0,
cJobs,
2,
@ZadachiPrintera,
SizeOf(ZadachiPrintera),
ByteRez,
StructCount)
then if StructCount>0
then for j := 0 to StructCount-1 do begin
//???????????????????

if (SystemTimeToDateTime(ZadachiPrintera[j].Submitted)>CZad)
then PriemZadanie;
end;


Inc(PrinterInfo, sizeof(TPrinterInfo2));
end;
Result := Stroka;
finally
//!!!!!!!!
end;
finally
FreeMem(Buffer, Count);
end;
end;


никак не пойму...
спасибо всем ответившим!


 
RV ©   (2002-09-17 10:19) [1]

GetMem(Buffer, Count);
try
if not EnumPrinters(Flags, nil, 2, PByte(Buffer), Count, Count, NumInfo) then
Exit;


есть подозрение что тут, но и
GetMem(Buffer, Count);
try
if not EnumPrinters(Flags, nil, 2, PByte(Buffer), Count, Count, NumInfo) then
FreeMem(Buffer, Count);
Exit;

то же Колонка память все время растет


 
Внук ©   (2002-09-17 10:37) [2]

Очень рекомендую MemProof для борьбы с утечками. "Мужики пили - хвалили" :))


 
RV ©   (2002-09-17 10:41) [3]

Внук © (17.09.02 10:37)

а где его взять?


 
Anatoly Podgoretsky ©   (2002-09-17 10:56) [4]

RV © (17.09.02 10:19)
С этим порядок, по Exit выходит на finally
а вот как с тем, что бы на каждый OpenPrinter делать ClosePrinter


 
nikkie ©   (2002-09-17 10:59) [5]

OpenPrinter есть, а ClosePrinter нет

btw, не понятно, что такое ZadachiPrintera. MSDN говорит:
To determine the required buffer size, call EnumJobs with cbBuf set to zero.


 
zavdim   (2002-09-17 11:02) [6]

http://www.automatedqa.com/ - тута и водится MemProof


 
RV ©   (2002-09-17 15:29) [7]

да, ClosePrinter то, что нужно было дописать
всем спасибо!



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

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

Наверх




Память: 0.48 MB
Время: 0.019 c
14-98293
Сатир
2002-09-03 19:01
2002.09.30
---|Ветка была без названия|---


14-98332
AL2002
2002-09-05 11:32
2002.09.30
Уже несколько ночей снится одна и та же девушка


3-97966
:: Hamster ::
2002-09-09 10:16
2002.09.30
Организация Transaction..или в чём тут может быть дело ?!


14-98269
Esu
2002-09-03 13:57
2002.09.30
.NET forever ;)


14-98316
Mchael
2002-09-05 11:41
2002.09.30
Есть ли у кого RXShell библиотека?