Zitat:
Die Methode CopyFrom kopiert die angegebene Anzahl Bytes aus einem Stream in einen anderen.
function CopyFrom(Source: TStream; Count: Int64): Int64;
Beschreibung
Mit CopyFrom können Sie Daten aus einem Stream in einen anderen kopieren. Der Benutzer muß keinen Pufferspeicher erstellen, lesen, beschreiben und freigeben, um Daten zu kopieren.
CopyFrom kopiert die in Count angegebene Anzahl Bytes aus dem in Source angegebenen Stream in den Stream. Dann verschiebt es die aktuelle Position um die in Count angegebene Anzahl Bytes und gibt die Anzahl der kopierten Bytes zurück.
Wenn Count 0 enthält, setzt CopyFrom vor dem Lesen die Position in Source auf 0 und kopiert dann den gesamten Inhalt von Source in den Stream. Wenn Count größer oder kleiner als 0 ist, liest CopyFrom ab der aktuellen Position in Source.
Vorsicht, falls (Source.Position + Count) > Source.Size! In diesem Fall wirft z.B. TMemoryStream eine
Exception "Stream-Lesefehler". Man könnte aber auch erwarten, dass einfach die restlichen Bytes kopiert werden und die Zahl der tatsächlich kopierten Bytes zurückgegeben wird.
Dani H.
At Least I Can Say I Tried