Registriert seit: 23. Jun 2004
Ort: Velbert (NRW)
108 Beiträge
Delphi 2006 Enterprise
|
Re: Array ohne Stack Overflow / nicht genügend Arbeitsspeich
25. Jul 2008, 08:31
Danke für die Tips.
Nun gibt es mit dem dynamischen Array aber einen Range Error bei FileRead
Delphi-Quellcode:
const int64Null : int64 = 0;
var
qFile : Integer;
buffersize,size, rest, len : cardinal;
buffer: array of Byte;
begin
buffersize := 128*128; // 16K als Beispiel
SetLength(buffer, BufferSize); // (Edit) Ja, sorry, hatte ich nur nicht in den Beitrag kopiert
// ... sonstiges Fileopen Geraffel
qFile := FileOpen(qName,fmOpenRead or fmShareDenyNone);
if qFile >= 0 then begin
// Zum Ende um size der Datei zu ermitteln
size := FileSeek(qFile,int64Null,soFromEnd);
// Zum Anfang fürs Lesen
FileSeek(qFile,int64Null,soFromBeginning);
len := FileRead(qFile,buffer,BufferSize); <-- RangeError
Erfahrung ist etwas, daß man erst bekommt, kurz nachdem man es dringend gebraucht hätte.
|
|
Zitat
|