Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#5

AW: Record mit dyn.Array speichern

  Alt 6. Jan 2012, 07:47
Delphi-Quellcode:
Type
  TMyRecord = Record
    A,B,C,D : TSomeType;
    E : TDynArray;
  Procedure SaveToStream (aStream : TStream);
   
  End;

Procedure TMyRecord.SaveToStream(aStream : TStream);
Var
  numberOFixedBytes,
  elementCount,
  firstElement : Integer;
Begin
// statischer/fester Teil
  numberOFixedBytes := PChar(Integer(@E)-Integer(@A));
  aStream.Write(A,NumberOfFixedBytes);

// Für jedes dynamische Array folgenden Code ausführen
  elementCount := Length(E);
  aStream.Write(elementCount);
  if elementCount>0 then begin
    firstElement := Low(E);
    aStream.Write(E[firstElement], elementCount*SizeOf(E[firstElement]));
  end
End;
Laden geht genauso (analog). Wenn Du das as Recordmethoden implementierst, sieht das doch hübsch aus.
  Mit Zitat antworten Zitat