Jump to content


Photo

[RESUELTO] Enviar mensajes entre aplicaciones con IdTCPClient


  • Please log in to reply
14 replies to this topic

#1 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2040 posts
  • LocationSanto Domingo

Posted 17 February 2010 - 08:24 PM

Estoy tratando de hacer lo que encontre en este Blog pero recibo el siguiente error


delphi
  1. Cliente.Socket.WriteLn( Mensaje.Text ); 



[Error] UFRMenviartcp.pas(38): Undeclared identifier: 'WriteLn' 


y cuando intento entrar algo despues de escribir cliente.socket.  no aparece nada con w para seguir escribiendo. Es como si el componente no tuviese esa propiedad



  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 17 February 2010 - 08:31 PM

¿En que procedimiento estás haciendo esto ?

En mi Turbo Delphi si me muestra la funcion Writeln().

Salud OS
  • 0

#3 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2040 posts
  • LocationSanto Domingo

Posted 17 February 2010 - 08:43 PM

en el onclick de un boton, como indica el ejemplo.
  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 17 February 2010 - 08:45 PM

en el onclick de un boton, como indica el ejemplo.


Pues que extraño, debería de funcionar. Solo por precaución, ¿ si agregaste el componente a la forma ?

Salud OS
  • 0

#5 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2040 posts
  • LocationSanto Domingo

Posted 17 February 2010 - 08:48 PM

si porque me deja llegar hasta socket, solo no me muestra esa propiedad, porque si me muestra send y muchas otras mas
  • 0

#6 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 17 February 2010 - 08:50 PM

si porque me deja llegar hasta socket, solo no me muestra esa propiedad, porque si me muestra send y muchas otras mas


¿ Que version de Delphi usas ?

Salud OS
  • 0

#7 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2040 posts
  • LocationSanto Domingo

Posted 17 February 2010 - 08:53 PM

delphi 7
  • 0

#8 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 17 February 2010 - 09:04 PM

¿ Y no será que debes usar la funcion SendText en lugar de Writeln ?

Salud OS
  • 0

#9 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2040 posts
  • LocationSanto Domingo

Posted 17 February 2010 - 09:16 PM

pues tampoco tengo sendtext en ese componente, parece entonces un problema con indy, ya que hace unos dias estuve instalando indy 10, pero luego restaure mi sistema y volvieron los indy 9.

Estaba usando un ejemplo con los udp y funcionan bien, parece que el problema es en el tcp. Como puedo reinstalar esa parte de los indy 9
  • 0

#10 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 17 February 2010 - 09:36 PM

Colocanos el code completo, mejor dicho la unidad completa donde está ese code, porque es posible que el problema esté en otro sitio.
  • 0

#11 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 17 February 2010 - 09:40 PM

Bueno viendo el blog me he dado cuenta que las pruebas las hicieron con D2007, sólo resta que un compañero con D2007 lo confirme.
  • 0

#12 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2040 posts
  • LocationSanto Domingo

Posted 17 February 2010 - 09:43 PM



delphi
  1. unit UFRMenviartcp;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs,IdTCPClient, StdCtrls,IdBaseComponent, IdComponent, IdTCPConnection;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     lbl1: TLabel;
  12.     lbl2: TLabel;
  13.     IP: TEdit;
  14.     Puerto: TEdit;
  15.     mensaje: TMemo;
  16.     btnenviar: TButton;
  17.     cliente: TIdTCPClient;
  18.     IdTCPClient1: TIdTCPClient;
  19.     procedure btnenviarClick(Sender: TObject);
  20.   private
  21.     { Private declarations }
  22.   public
  23.     { Public declarations }
  24.   end;
  25.  
  26. var
  27.   Form1: TForm1;
  28.  
  29. implementation
  30.  
  31. {$R *.dfm}
  32.  
  33. procedure TForm1.btnenviarClick(Sender: TObject);
  34. begin
  35. Cliente.Host := IP.Text;
  36.   Cliente.Port := StrToIntDef( Puerto.Text, 0 );
  37.   Cliente.Connect;
  38.   Cliente.Socket.WriteLn( Mensaje.Text );
  39.   Cliente.Disconnect;
  40.  
  41. end;
  42.  
  43. end. 




Por otro lado encontre en este lugar Indy10-instalacion automatica para delphi 7

Pregunta vale la pena actualizar a indy 10 y si es asi, cual es la mejor forma de desinstalar indy 9
  • 0

#13 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2040 posts
  • LocationSanto Domingo

Posted 18 February 2010 - 05:52 PM

La instalacion automatica parece que no instala correctamente todos los componentes con lo cual en algunas compilaciones da error.

La forma correcta de instalar manualmente los indy 10 en delhi 7 es esta.

1.- debes remover el indy que tengas del component install package de delphi.

2.- debes ir al directorio de delphi y borrar todos los dcp, bpl del indy que este instalado.

3.- debes ir al directorio de windows y buscar indy y encontraras unos cuantos *.bpl que debes borrar.

4.- Si ya usaste el instalador automatico que esta en este mismo hilo, se creo el directorio program files\indy 10 for delphi 7 y ahi encontraras en el directorio source lo que necesitas para continuar con la instalacion manual.

5.- Compilar los siguientes paquetes  ****no confundir en esta parte con los archivos que comienzan con dcl.

a)Core\indycore70.dpk
b)Protocols\indyprotocols70.dpk
c)SuperCore\Indysupercore70.dpk
d)System\Indysystem70.dpk


6.-  Compilar e instalar:  ******estos archivos si comienzan con dcl.

a)Core\dclindycore70.dpk
b)Protocols\dclindyprotocols70.dpk
c)SuperCore\dclIndysupercore70.dpk


7.- Adicional los siguientes directorios en Tools - Enviroment options - library - library path

a)Core
b)Protocols
c)SuperCore
d)System

Asi me funciono a mi.
  • 0

#14 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2040 posts
  • LocationSanto Domingo

Posted 18 February 2010 - 06:00 PM

Imagen Enviada

Despues de instalarlo todo manual, ya me aparece la propiedad y se compila sin error.
  • 0

#15 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 18 February 2010 - 06:13 PM

Pues que bien que ya pudiste resolver tu problema, pero que mal que la instalación automática no haya funcionado correctamente.

Gracias por la retro.

Salud OS
  • 0




IP.Board spam blocked by CleanTalk.