Ver Mensaje Individual
  #3  
Antiguo 11-10-2004
IcebergDelphi IcebergDelphi is offline
Miembro
 
Registrado: may 2003
Ubicación: VillaFlores, Chiapas, Mexico
Posts: 81
Reputación: 22
IcebergDelphi Va por buen camino
Codigo de comunicacion del Ciber

Hola amigos del foro gracias por responder , miren como me solicitaron parte del codigo para ver cual sera el problema que expongo en la pregunta , les mostrare.

Primero les muestro la aplicacion que servira para controlar a las demas maquinas esta aplicacion esta en mi maquina:

En este formulario de prueba tengo 2 cajas de texto , dos botones ( Inicio y fin del conteo), y un componte del Indy Llamado:TIdTCPClient y por ultimo unTimer

******Codigo*****

procedure TFrmPruebaServer.MyTimerTimer(Sender: TObject);
begin
EdtFinal.Text:=TimeToStr(Time());
end;

procedure TFrmPruebaServer.BtnIniciarClick(Sender: TObject);//Inicia el conteo//
begin
MyMainServer.Connect;// Componente Indy
EdtIni.Text:=TimeToStr(Time());
LblTotal.Caption:='';
MyTimer.Enabled:=True;//Timer
end;

procedure TFrmPruebaServer.BtnTerminarClick(Sender: TObject);//termnina el conteo//
Var
Resultado:TDateTime;
begin
Resultado:=StrToTime(EdtFinal.Text)-StrToTime(EdtIni.Text);
MyTimer.Enabled:=False;
MyMainServer.Disconnect;
LblTotal.Caption:='El Total consumido es:' + TimeToStr(Resultado);
end;
end.

Y el las propiedades del componente Indy tengo lo siguiente:
Host:=Initec08 //Maquina a la cual me comunicare
Port:=6711

Y por ultimo:

*************************************************
Codigo de la aplicacion que estara en las maquinas
*************************************************
Tengo un formulario con un componente Indy llamado TidTCPServer

Que al crearse el form se activa


procedure TFrmCliente.FormCreate(Sender: TObject);
begin
MyTcpClient.Active:=True;//Componente cuando se activa
end;


procedure TFrmCliente.MyTcpClientConnect(AThread: TIdPeerThread);
//Codigo del componente al recibir comunicacion, el formulario se oculta y dejara trabajar al usuario
begin
FrmCliente.Hide;
end;

procedure TFrmCliente.MyTcpClientDisconnect(AThread: TIdPeerThread);
// Al terminar la comunicacion o desconectarse, el fomulario aparecera y bloquera la maquina.
begin
FrmCliente.Show;
end;

end.


Todo esto lo probe con el otro componente que les meciono en mi pregunta , esto funciona `pero al tratar de conectarce tres veces (hacer click en tres ocaciones para conectarse) la aplicacion se cualga y ya no se cierra el formulario de la maquina cliente)
Es por eso que cambie al componente Indy

Pero Ahora con el componente Indy me lanza el error:
Socket error: 10049 cant not assing requested address

Cual sera el problema del componente INdy o que componente me recomiendan?

Gracias amigos.
__________________
IcebergDelphi
LIA. Hiber tadeo Moreno Tovilla. INITEC Software
Responder Con Cita