Hola , tengo el siguiente codigo que hice para una aplicacion que necesito que sea en consola :
Código Delphi
[-]program irc;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils, PerlRegEx, ScktComp;
var
PerlRegEx1: TPerlRegEx;
ClientSocket: TClientSocket;
host: string;
nickname: string;
canal: string;
code: string;
begin
try
host := 'localhost';
nickname := 'tester';
canal := '#test';
code := '';
ClientSocket := TClientSocket.Create(nil);
ClientSocket.host := host;
ClientSocket.Port := 6667;
ClientSocket.Open;
ClientSocket.Socket.Write('enviando informacion');
if ClientSocket.Socket.Connected = True then
begin
Writeln('Connected!');
while (1 = 1) do
begin
code := ClientSocket.Socket.Read();
if not(code = '') then
begin
Writeln(code);
end;
end;
end
else
begin
Writeln('Error');
end;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.
El problema son dos lineas :
Primero :
Código Delphi
[-]ClientSocket.Socket.Write('enviando informacion');
Que me da el siguiente error :
[DCC Error] irc.dpr(30): E2010 Incompatible types: 'NativeInt' and 'string'
En esa linea trato de enviar los datos "enviando informacion" al servidor que me conecto.
Ahora la otra linea es esta :
Código Delphi
[-]code := ClientSocket.Socket.Read();
Que me da el siguiente error :
[DCC Error] irc.dpr(35): E2035 Not enough actual parameters
Probe agregandole un nil como parametro pero ...
Código Delphi
[-]code := ClientSocket.Socket.Read(nil);
Da este nuevo error :
[DCC Error] irc.dpr(35): E2010 Incompatible types: 'NativeInt' and 'Pointer'
¿ Alguien me podria ayudar ?
pd : El tema es que tengo que usar ScktComp si o si porque no encuentro documentacion sobre como usar indy con consola para enviar y recibir informacion.