Hallo Freunde,
so langsam ist es wohl an der Zeit, meinen Job an den Nagel zu hängen und Gärtner zu werden.
Folgende, extrem simple Routine:
Delphi-Quellcode:
//Compiler ist Delphi XE4 Professional
uses
IdBaseComponent, IdComponent, IdSocketHandle,
IdGlobal, IdContext, IdCustomTCPServer, IdTCPServer,
IdIOHandler;
[...]
procedure TCUD_Main.MyTCPServerExecute(AContext: TIdContext);
var
W: Word;
b: byte;
Block: IdGlobal.TIdBytes;
begin
//
w:=AContext.Connection.IOHandler.ReadWord;
if (w <> $4711) then
begin
exit;
end;
b:=AContext.Connection.IOHandler.ReadByte;
Setlength(Block, b);
Block:=AContext.Connection.IOHandler.ReadBytes(Block, b, false);
end;
Daran ist ja nun nix schlimmes. Mein XE4 mein nun in der Zeile "Block:=AContext.Conn...":
Fehler E2010 Inkompatible Typen: 'TIdBytes' und 'procedure, untyped pointer or untyped parameter'
Ctrl-Click auf ReadBytes ergibt:
procedure TIdIOHandler.ReadBytes(var VBuffer: TIdBytes; AByteCount: Integer; AAppend: Boolean = True);
Was ist denn nu schon wieder kaputt ?