Ver Mensaje Individual
  #5  
Antiguo 10-05-2019
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.461
Reputación: 20
newtron Va camino a la fama
Bucanero.


Gracias por contestar.


El tema es que lo que planteas básicamente es también esperar (más o menos tiempo) a que se active el ClientSocket y no se activa.


He estado mirando por internet y he visto que hay dos formas de tratar este componente, una con el parámetro "ctBlocking" y otra con el parámetro "ctNonBlocking". La verdad es que no sé muy bien la diferencia que hay entre una forma y otra pero si parece que los eventos los disparan de distinta manera. Por defecto viene "ctNonblocking", si lo cambio a "ctBlocking" si me activa al tirón pero tiene la contrapartida de que no se activa el evento "OnRead" por lo que hay que consultar el resultado manualmente cuando se envía cualquier cosa.


P.e.:


Código Delphi [-]
    ClientSocket1.ClientType := ctBlocking;
    ClientSocket1.Open;
    ClientSocket1.Socket.SendText('#I#');
    Raw:='';
    while Raw='' do begin
      Raw:=ClientSocket1.Socket.ReceiveText;
    end;
    ShowMessage(Raw);


Yo creo que con esto me apaño.


Gracias a todos.
__________________
Be water my friend.
Responder Con Cita