Ja, aber Achtung: Das geht nur bis zu 255 Byte String/Pufferlänge! Alternative eben auch absolute, das ist dann für ganz Faule
- Ausser bei der Deklaration
Delphi-Quellcode:
procedure DoSomethingWithTheBuffer;
type
// Buffer als Stringimitat
TBuffer = record
BufferLength : byte;
BufferContents : array[0..255] of byte;
end;
var
Buffer : TBuffer;
BufferString : string absolute Buffer;
begin
// Irgendwas passiert mit den Buffercontents
// ... Länge der Nutzdaten eintragen
Buffer.BufferLength := 123;
// Jetzt können wir auf den String zugreifen, denn Buffer.BufferLength = Bufferstring[0]
// Dadurch braucht man kein Move, denn die Variablen liegen "übereinander" auf der selben Adresse.
end;