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

Вниз

Ошибки с Tstream   Найти похожие ветки 

 
Max   (2012-01-30 23:13) [0]

stream1 := tFileStream.Create("1.csv",fmOpenRead  or fmShareDenyNone);
stream1.Seek(-35,soEnd);
stream1.Read(TempStr1,11);
Label1.Caption:=TempStr1+"/";
Stream1.Free;
stream1.Create("2.csv",fmOpenRead  or fmShareDenyNone);
stream1.Seek(-35,soEnd);
stream1.Read(TempStr2,11);
Label21.Caption:=TempStr2+"/";
Stream1.Free;


возникает ошибка чтения...почему?


 
И. Павел ©   (2012-01-30 23:38) [1]


> возникает ошибка чтения...почему?

Потому что объект создаете неправильно:

> stream1.Create("2.csv",fmOpenRead  or fmShareDenyNone);


 
Германн ©   (2012-01-31 01:19) [2]

Хм.
А если убрать первую строчку Stream1.Free; что будет?


 
Ega23 ©   (2012-01-31 01:56) [3]


> Германн ©   (31.01.12 01:19) [2]
>
> Хм.
> А если убрать первую строчку
> 1
>  
> Stream1.Free;
> что будет?


К первой ошибке добавится ещё и утечка памяти.


 
Германн ©   (2012-01-31 01:59) [4]


> К первой ошибке добавится ещё и утечка памяти.
>

Обоснуй. :)


 
Ega23 ©   (2012-01-31 08:41) [5]


> Обоснуй. :)


1. Включаем ReportMemoryLeaksOnShutdown := True;
2. Эмулируем ошибку после stream1.free;
3. Запускаем, проверяем. Утечки нет, exception есть
4. Убираем stream1.free;
5. exception есть, на выходе :

---------------------------
Unexpected Memory Leak
---------------------------
An unexpected memory leak has occurred. The unexpected small block leaks are:

13 - 20 bytes: TFileStream x 1

93 - 100 bytes: UnicodeString x 1


 
Германн ©   (2012-01-31 12:51) [6]


> Ega23 ©   (31.01.12 08:41) [5]
>
>
> > Обоснуй. :)
>
>
> ...
> 2. Эмулируем ошибку после stream1.free;

Этого я не заказывал.


 
Ega23 ©   (2012-01-31 12:56) [7]


> Этого я не заказывал.


Если первый конструктор отработает, то утечка в любом случае будет.



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

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

Наверх




Память: 0.48 MB
Время: 0.006 c
15-1328473805
Юрий
2012-02-06 00:30
2012.06.03
С днем рождения ! 6 февраля 2012 понедельник


15-1328106469
yurikon
2012-02-01 18:27
2012.06.03
Нужна помощь по COM объекту


2-1327645166
Mishenka
2012-01-27 10:19
2012.06.03
Перемотка ListView к конкретному ListItem


1-1294084277
TStas
2011-01-03 22:51
2012.06.03
Как получить размер экрана в дюймах или см?


15-1328346033
Smile
2012-02-04 13:00
2012.06.03
Субботняя задачка :)