Hi,
erst mal danke für eure Ideen.
Also:
Delphi-Quellcode:
s[0] := #2; // STX
s[i1] := #3; // ETX
Dann kommt die Fehlermeldung inkompatible Typen, weil s ein TiDBytes ist.
Delphi-Quellcode:
var
Daten: string;
msc_client.IOHandler.Write(chr(2) + Daten + chr(3));
Ist eine gute Idee, aber hier kompiliert er auch nicht. Wieder Fehlermeldung inkompatible Typen.
Ich war der Meinung das
Delphi-Quellcode:
s[0] := 2; // STX
s[i1] := 3; // ETX
die richtige Rahmung ist. Aber anscheinend nimmt der Server das nicht an........
Ich versuch es mal weiter, aber danke euch für den Input.
hier nochmal der code mit der variablen Deklaration:
ich habe das s mal gegen BBytes ersetzt. Ist richtig s ist doof für ein Bytearray, sollte man nicht machen.
Delphi-Quellcode:
procedure TMain_Frm.btn_interface_msc_sendClick(Sender: TObject);
var
BBytes : TIDBytes;
dat, dattmp : String;
character : Char;
b : Byte;
i, a, i1, i2 : Integer;
begin
a := Length(txt_interface_msc_sendstring.text);
dat := txt_interface_msc_sendstring.text;
i1 := 1;
i2 := 1;
setlength(BBytes, i1);
BBytes[0] := 2; // STX
for i := 1 to a do begin
i1 := i1 + 1;
setlength(BBytes, i1);
BBytes[i1] := ord(dat[i2]);
i2 := i2 + 1;
end;
i1 := i1 + 1;
setlength(BBytes, i1);
BBytes[i1] := 3; // ETX
msc_client.IOHandler.Write(BBytes);
end;//*****************************************************************************************************************************************