Главная страница
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.04 c
15-1449675538
Rouse_
2015-12-09 18:38
2017.01.15
Акция от VMProt


15-1456747091
MsGuns
2016-02-29 14:58
2017.01.15
Кто мы есть ?


2-1421840818
i2e
2015-01-21 14:46
2017.01.15
Изображения на SpeedButton


15-1455954062
Beck
2016-02-20 10:41
2017.01.15
Правильная реализация


15-1435899159
Any
2015-07-03 07:52
2017.01.15
Где найти фрилансеров