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

Вниз

Утечка памяти......в чем трабла???   Найти похожие ветки 

 
malefik   (2003-09-09 13:33) [0]

var _file: Integer ;
_data, _date, _time: string ;
Buffer: PChar;
begin
try
_file := FileOpen(_FileName ,fmShareDenyNone);
Getmem(Buffer,_sizeFile + 1);
FileSeek (_file, _sizeFile-(_New_CountRecord*136) ,0);
FileRead(_file, Buffer^,136);
_date := _alarm_oven._ConvertDate(copy (Buffer,1,8));
_time :=copy (Buffer,10,8);
finally
FreeMem(Buffer);
FileClose(_file);
end;

При вызове данной функции в цикле несколько сотен раз
ВОзникает EOUTOFMEMORY...

Всё ли здесь правильно????


 
clickmaker ©   (2003-09-09 13:43) [1]

Под отладчиком глянь, на какой строке вываливается аут оф мемори. Криминала в коде вроде нет

Кстати, а _sizeFile откуда берется?


 
jack128 ©   (2003-09-09 16:10) [2]

коректнее так

var _file: Integer ;
_data, _date, _time: string ;
Buffer: PChar;
begin
_file := FileOpen(_FileName ,fmShareDenyNone);
try
Getmem(Buffer,_sizeFile + 1);
try
FileSeek (_file, _sizeFile-(_New_CountRecord*136) ,0);
FileRead(_file, Buffer^,136);
_date := _alarm_oven._ConvertDate(copy (Buffer,1,8));
_time :=copy (Buffer,10,8);
finally
FreeMem(Buffer);
end;
finally
FileClose(_file);
end;
end;
Но не думаю, что ошибка из-за этого


 
savva ©   (2003-09-09 18:24) [3]

а я бы написал вот так
FileRead(_file, Buffer^,136);
_date := _alarm_oven._ConvertDate(copy (Buffer^,1,8));


 
miek ©   (2003-09-09 23:39) [4]

А может, надо не copy(buffer,1,8) а copy(Buffer^,1,8)?


 
malefik   (2003-09-10 08:28) [5]

Sorry коллеги.....вопрос снят.....
>>clickmaker.. просмотрел внимательно....ругался он на STRINGGRID как ни странно ...
1.Читаю запись...
2. добавляю STRINGGRID одну строку свойством RowCount (ну так легче думал)....оказалось что он на этом затыкается...(видать маленько промах допустили программеры BORLAND...память течет видно невооруженным глазом)...
3. Добавляю прочитанные данные в STRINGGRID....



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

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

Наверх




Память: 0.48 MB
Время: 0.105 c
1-56571
Rookie
2003-11-06 11:16
2003.11.17
Привязать свой TStringListEx к компоненту TListBox


3-56477
LordBTR
2003-10-27 16:33
2003.11.17
Динамическое получение суммы по полю.


3-56437
Пубертанец
2003-10-27 10:03
2003.11.17
Как имитировать автоинкрементное поле в дбф?


8-56770
SergeSV
2003-07-19 17:46
2003.11.17
360-ти градусная фотография


7-56938
som
2003-09-08 12:14
2003.11.17
Запущена ли внешняя программа на выполнение ?