Danke... da hätt ich auch darauf kommen können
Ich hab das ganze jetzt umgebaut. Letztendlich gibt es jetzt nur noch den Record THeader. Die Nachricht selbst häng ich dann einfach an den Byte Array an.
Das ganze sieht dann so aus. Vielleicht hat ja noch jemand eine schönere Lösung, aber das sieht jetzt schon mal ganz gut und übersichtlich aus:
Delphi-Quellcode:
procedure TRemote.SendString(value:
string);
var
buffer:
array of byte;
header: THeader;
begin
if _client.Connected
then
begin
header := CreateHeader(
ANSI, Length(value));
Setlength(buffer, sizeof(header) + header.length);
CopyMemory(@buffer[0], @header, sizeof(header));
CopyMemory(@buffer[sizeof(header)], @value[1], Length(value));
_client.WriteBuffer(buffer[0], Length(buffer), true);
end;
end;