Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Socket que funciona hasta la segunda vuelta (https://www.clubdelphi.com/foros/showthread.php?t=36568)

Phacko 17-10-2006 03:48:12

Socket que funciona hasta la segunda vuelta
 
Que tal a todos.

Estoy desarrollando una aplicacion para cerrar o reiniciar otras computadoras en la red haciendo uso de TServerSocket y TClientsocket, todo funciona casi bien, digo casi porque cuando selecciono uno de dos RadioButton (apagar o reiniciar) y doy clic en el boton que corresponde a la computadora que quiero controlar sucede nada, hasta que selecciono nuevamente la misma opcion y el mismo boton es cuando se lleva a cabo el control, es decir se apaga o reinicia la computadora elejida.

A continuación el fragmento del codigo que hace esto:
Código Delphi [-]
Procedure TForm1.ControlarPC;
Begin
   If CS1.Active=True Then CS1.Close;
   CS1.Address:=IP;
   CS1.Host:=Hosts;
   Then
         Try CS1.Open;
         Except ShowMessage('No se tiene conexión'+chr(13)+'Trata de nuevo');
         End;
   If RBApagar.Checked Then CS1.Socket.SendText('1')
   Else CS1.Socket.SendText('2');
   BDellamara1.Enabled:=False;
   BDellamara2.Enabled:=False;
   BDellamara3.Enabled:=False;
   BDellamara4.Enabled:=False;
   BDellamara5.Enabled:=False;
   RBApagar.Checked:=False;
   RBReiniciar.Checked:=False;
End;

Las variable IP y Hosts se definen al pulsar el boton que corresponde a la computadora a controlar. Ya he hecho algunos cambios y nada, inclusive inserte un bucle que dependia del evento Active del socket para poder enviar el valor y nada, funcionaba igual hasta la segunda vuelta.

Agradeceria mucho alguien me diera una pista, lo mas seguro es que sea algo sin chiste, pero ya estoy algo embolado y no atino a ver que esta mal. Casi lo olvidaba, hasta hoy he trabajado con las execepciones y francamente lo que anote arriba no me ha funcionado yigual agradeceria que alguien me indicara si voy por buen camino con eso.

Gracias.

Buena noche por aca, buen dia por allá.:rolleyes:

Enan0 17-10-2006 17:03:38

Mira calculo que han sido errores de TRanscripsion. pero!!!
el "FALSE" ahi solito no se que hace!!! y despues llamas a clientSocket1. y no a "CS1"
Cita:

Código Delphi [-]
   False Then
   Try ClientSocket1.Open;


Phacko 18-10-2006 02:34:54

Tienes razon....
 
Que tal a todos.

Efectivamente Enan0, fue un error de transcripcion que en realidad fue omisión ya que hice algunos cambios y no modifique lo que me indicaste, pero ya está corregido y como está actualmente trabajando, funcionando hasta la "segunda vuelta".

Gracias, agradesco tu tiempo.

Si alguien me puede dar alguna idicación se los voy a agradecer, yo por mi perte continúo probando.

Buena noche por aca, buen día por allá.:D

Enan0 18-10-2006 15:39:11

si queres y no te es "peligroso" por tu trabajo o lo que esa. Podes pasar el codigo y se puede intentar Depurar.

por otro lado estoy escribiendo algo muy sencillo para apagar la PC (que es la instruccion que me acuerdo y te cuento en que resulta)

Enan0 18-10-2006 19:57:16

Ya vi cual es tu Error te Falta un #13#10 despues del '1'
seria

Código Delphi [-]

......
.....
....Sendtext('1'+#13#10);
....
....
...

Igual aca te dejo un cliente y un servidor esta hecho con los Sockets de la paleta Internet y el codigo es de delphi 5 (seria 100 % compatible con delphi6) cualquier error que te de que Falta algo referente a Variant's , agrega dicha Unit en los uses

http://rapidshare.de/files/37237645/Sockets.rar.html

Saludos
PD; Si podes con Los indy Sockets bueno estaria que los uses. pero la verdad el server de Indy a mi me vuelve loco y lo puedo hacer funcionar como quiero :(

Phacko 18-07-2007 02:50:13

Muchas gracias y disculpas
 
Que tal Enan0??? disculpa mi total falta de agradecimiento, tuve que dejar por un buen tiempo esto y despues se me olvido lo que estaba haciendo, ya después lo retome y se soluciono, la verdad ya ni recuerdo que fue lo que hice, pero lo que me aconsejaste lo voy a poner en marcha en otro proyectiyo que he comenzado con socket's, nuevamente gracias.

Saludos.

Buena madrugada por allá, buena tarde por acá.


La franja horaria es GMT +2. Ahora son las 13:14:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi