Delphi - how read filestream byte by byte? -


i'm working stream files, "out of memory" error occurred. think must read stream, byte byte. load file method:

fs := tfilestream.create("c:\a\a.avi", fmopenread or fmsharedenywrite) ; 

next reset stream position:

fs.positon:=0; 

then i'm trying read first byte of stream:

var onebyte:byte; begin  fs.read(onebyte,2); 

but doesn't work properly. mistake?

byte size 1 not 2

fs.read(onebyte, 1); 

such errors can prevented using sizeof() function

fs.read(onebyte, sizeof(onebyte)); 

on note, read returns number of bytes read indicate whether or not entire read succeeded. expected check return value deal errors.

the preferred idiom use readbuffer instead. call read , in case of error raise exception.

as @david heffernan pointed out reading file stream byte byte not efficient way. take @ buffered files (for faster disk access)


Comments

Popular posts from this blog

c++ - llvm function pass ReplaceInstWithInst malloc -

java.lang.NoClassDefFoundError When Creating New Android Project -

Decoding a Python 2 `tempfile` with python-future -