Code: Alles auswählen
const
{$ifndef Darwin}
cBufSize=1024*1024; //1MB
{$else}
cBufSize=2048;
{$endif}
var
f: file;
begin
AssignFile(f, UTF8ToSys(FFileName));
SetTextBuf(f, aBuffer, cBufSize);
Reset(f);
Code: Alles auswählen
const
{$ifndef Darwin}
cBufSize=1024*1024; //1MB
{$else}
cBufSize=2048;
{$endif}
var
f: file;
begin
AssignFile(f, UTF8ToSys(FFileName));
SetTextBuf(f, aBuffer, cBufSize);
Reset(f);
Das klingt zwar vernünftig, aber bei mir gab es in einer vmware den runtime error 202 bei 64bit (oder 32 aber sicher nicht 16). Mit einer Puffergröße von 2^16 klappt es jetzt einwandfrei. Und ich habe Fehlermeldungen von Anwendern bekommen, die auch diese Ursache haben könnten.marcov hat geschrieben:16-bit auf 16-bit, 32-bit auf 32-bit, ??? auf 64-bit
Der Fehler kam bei Aufruf der Funktion, noch bevor die erste Zeile ausgeführt wurde. Wenn ich jetzt ein Minimalbeispiel konstruiere, dann klappt es auch mit einem größeren Puffer. Also muss mein Problem wohl eine andere Ursache gehabt haben.marcov hat geschrieben:Wenn bekommt man ein Runtime Error?