Dlaczego CopyFrom nie działa w tym kodzie?
Pewnie coś jest nie tak z trybem otwarcia pierwszego strumienia.
S := TFileStream.Create('e:\temp.txt', fmCreate or fmOpenRead or fmShareDenyWrite);
try
// Tutaj zapisuję cos do S
{..}
// tworzę nowy strumien
S2 := TFileStream.Create('E:\temp2.txt', fmCreate or fmShareDenyRead);
try
// zapisuje rekord do S2
New(FHeader);
FHeader^.Size := S.Size - Stop;
FHeader^.Kind := MainFrm.getDiskType(ExtractFileDrive(edtPath.Text));
S2.Write(FHeader^, SizeOf(FHeader^));
Dispose(FHeader);
// kiedy chce skopiowac z S wywala EStreamReadError :(
S2.CopyFrom(S, S.Size);
finally
S2.Free;
end;
finally
S.Free;
end;
Z góry dziękuję za wszystkie odpowiedzi.