Einzelnen Beitrag anzeigen

Nuclear-Ping
(Gast)

n/a Beiträge
 
#3

Re: Wieviele Daten passen in ein dynamisches Array?

  Alt 12. Sep 2006, 13:34
Delphi-Quellcode:
// *****************************************************************************
// TAudioScannerSimple
// *****************************************************************************

function TAudioScannerSimple.BufferFilled (Buffer: PChar; var Size: Integer): Boolean;
var
  a, b, c: Integer;
  BitStr3: String;
begin
  for a := 0 to Size do
    begin
      BitStr3 := ByteToBitStr (Byte (Buffer[a]));
      for b := 1 to Length (BitStr3) do
        inc (FBitsValCount[strtoint (BitStr3[b])]);
    end;

  a := Length (FAudioBuffer);
  SetLength (FAudioBuffer, a + Size);
  for b := 0 to Size - 1 do
    FAudioBuffer[a + b] := Byte (Buffer[b]);
    
  FBufferFilled := TRUE;
end;
Das ist ein Event, der von der TAudioIO-Komponente aufgerufen wird, wenn der interne Buffer (1024 Bytes) voll ist. Die Daten werden an ein Array (FAudioBuffer) in der Klasse angehängt.

Edit: Ich seh gerade, dass ich hier einen Fehler hab: for a := 0 to Size do - Es müsste " to Size - 1 do" heissen. Gerade korrigiert und teste es.

Edit2: Daran lag es nicht. Bekomme immernoch den Fehler. In der Unit System.pas, procedure DynArraySetLength, Zeile 16273: ReallocMem(pp, neededSize);
  Mit Zitat antworten Zitat