Einzelnen Beitrag anzeigen

Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#19

Re: Dateien schreiben Buffergröße optimieren

  Alt 2. Dez 2006, 16:44
Zitat von Luckie:
Ist allerdings sau langsam, weil er wohl immer nur 4 Byte liest.
Klar, du liest ja auch nur 4 Bytes aus:

BytesRead := FileRead(hFile, MemBuffer[0], Min(sizeof(MemBuffer), BytesToRead)); Sizeof ist ein Operator, der die Anzahl Bytes zurückgibt, die eine Variable eines bestimmten Typs auf dem Stack belegt. Und das sind bei einem dynamischen Array nun mal 4 Byte, da die Variable ja nur einen Zeiger auf den entsprechenden Speicherbereich im Heap darstellt. Da sollte also eher sowas stehen wie
BytesRead := FileRead(hFile, MemBuffer[0], Min(sizeof(MemBuffer[0] * Length(MemBuffer), BytesToRead));
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat