Einzelnen Beitrag anzeigen

Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#14

AW: Cast Array[0..x] of Byte in TBytes

  Alt 30. Jun 2011, 13:33
Auch wenn ich mich ungern in die Schussbahn einer so hitzigen Diskussion begebe, wollte ich es trotzdem los werden:
Es hat bei ihm (im speziellen Fall) funktioniert.
Die zweite Zeile in AContext.Connection.IOHandler.Write sieht so aus: LLength := IndyLength(ABuffer, ALength, AOffset); .
Und die zweite Zeile der Funktion IndyLength enthält wiederum das: LAvailable := IndyMax(Length(ABuffer)-AIndex, 0); Hier wird also auf die Länge des dyn. Arrays mittels Length zugegriffen. Das das gut geht ist reine Glückssache ...
Dein Code funktioniert also, sofern man die Funktion selbst geschrieben hat und auf Length verzichtet. Allgemein ist es aber leider eine tickende Zeitbombe ...
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat