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

Вниз

Stream.Seek Stream.Position возвращает ноль.   Найти похожие ветки 

 
rioko   (2012-08-02 10:54) [0]


   FromF := TFileStream.Create(pp + "UserData\" + BaseName + "DB.db", fmOpenRead);
    Application.ProcessMessages();
   try
       ToF := TFileStream.Create(DirToRepack + "\" + FileName, fmCreate);
        end;
     try
        FromF.Seek(BeginByte, soFromBeginning);

       ShowMessage("Seek(BeginByte \  "+inttostr(FromF.Position) +" \ "+inttostr(BeginByte));

       Application.ProcessMessages();

       ToF.CopyFrom(FromF, RecFileSize);
     finally
       ToF.Free;
     end;
   finally
     FromF.Free;
   end;


Так вот, все прекрасно работает если файл менее полутора гигабайт, а когда больше то после выполнения Seek при проверке
ShowMessage("Seek(BeginByte \  "+inttostr(FromF.Position) +" \ "+inttostr(BeginByte));
показывает что позиция ноль.

Что делать? Записывается то нормально а вот как прочесть данные и почему сик не работает если там int64 и длины хватает в любом случае?


 
Cobalt ©   (2012-08-02 15:36) [1]

Удалено модератором
Примечание: создание пустых сообщений


 
Rouse_ ©   (2012-08-02 18:59) [2]

Вместо Seek используй свойство Position


 
rioko   (2012-08-02 19:42) [3]

Rouse_

Спасибо большое :)


 
DVM ©   (2012-08-03 22:47) [4]


> rioko   (02.08.12 10:54) 


>  и почему сик не работает если там int64 и длины хватает
> в любом случае?

Работает он, но там есть два перегруженных метода Seek принимающие разные типы второго параметра.


 
Palladin ©   (2012-08-04 01:39) [5]

)

function TStream.GetPosition: Int64;
begin
 Result := Seek(0, soCurrent);
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.023 c
15-1445860992
DayGaykin
2015-10-26 15:03
2017.01.15
PHP и Java для Web


15-1454505647
кгшзх
2016-02-03 16:20
2017.01.15
ПДД баттл


15-1451394616
Kerk
2015-12-29 16:10
2017.01.15
Сувениры


15-1447932039
DayGaykin
2015-11-19 14:20
2017.01.15
Умножение и сложение UInt64 с переполнением.


2-1428788906
BBC
2015-04-12 00:48
2017.01.15
Фокусировка PaintBox