Форум: "Начинающим";
Текущий архив: 2012.06.03;
Скачать: [xml.tar.bz2];
ВнизОшибки с 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c