Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Servidor DDE

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Servidor DDE Responder citando

Hola mi gente! espero que eten bien y preparandose para Navidad...

Necesito de su ayuda: como puedo construir un servidor DDE y un CLiente DDE que se comunique con el primero?
Donde encuentro un ejemplillo o documentacion, he estado leyendo las ayudas del Builder pero no lo veo claro.

Muchas gracias por su colaboracion.

Saludos
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Razz Que tal muchachos!
Investigando Cool me encontre con este link esta bien bueno
http://www.dedalus-software.com.ar/docs/comunicacionentreprocesos.pdf
Quiero que lo miren y me den una mano en el numeral 1.2.3 con respecto a "callbackFunction" porque el compilador no la reconoce y no encuentro ayuda sobre este.

Agradezco su ayuda. Razz

Saludos
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Hola rockfavc:

Se refiere a la función que tienes que crear tú y donde se procesaran los mensajes entre el servidor y cliente. En el siguiente enlace a la referencia del API tienes más información de como declararla:

    DdeCallback Function (Windows User Interface)

En el documento al que haces referencia parece que se les olvido poner una muestra de como implementarla.


Tienes otra solución más sencilla, usando el componente "TDdeServerItem" (pestaña: System). Cuando se le envía información desde el cliente se dispara su evento "OnPokeData" y dentro de ese evento puedes usar sus propiedades "Lines" y "Text" para leer los datos recibidos y a su vez modificando las mismas contestas al cliente.

Es importante el nombre que le des a tu ejecutable, a tu form y al componente TDdeServerItem que arrastres sobre el, ya que usara estos nombres del siguiente modo para identificar al servidor DDE:

    Service = Nombre del ejecutable
    Topic    = Nombre del form donde este el componente TDdeServerItem
    Item     = Nombre que le hemos dado al componente TDdeServerItem


Y para crear el cliente: teniendo estos datos, la forma de comunicarte con este servidor y usando el mismo ejemplo del mensaje anterior relacionado con Excel, quedaría algo así:

Código:
// Añadimos: #include<memory> e #include<ddeman.hpp>
std::auto_ptr<TDdeClientConv> dde(new TDdeClientConv(0));
// Enlazamos con nuestro servidor DDE
dde->SetLink("Project1", "Form1");
// Enviamos datos
dde->PokeData("DdeServerItem1", "prueba");
// Leemos contestación
Caption = dde->RequestData("DdeServerItem1");

Esto dejando los nombres de cada cosa por defecto, pero podemos cambiarlos... También podemos arrastrar el componente "TDdeClientConv" en tiempo de diseño en vez de crearlo dinámicamente como en este ejemplo.


Como curiosidad, usando el mIRC para comunicarnos con nuestro servidor quedaría algo así:

Enviamos datos:      /dde Project1 Form1 DdeServerItem1 esto es una prueba
Pedimos respuesta: //echo Datos: $dde(Project1, Form1, DdeServerItem1)


Por supuesto todo esto se puede complicar tanto como quieras con esos componentes, esto es solo un ejemplo lo mas básico que se me ocurre.

Saludos:
 _Leo
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola Leo! gracias por la orientacion.
Voy a probar lo sugerido. Te estaré contando los avances.

Saludos

Marzo 03-2004
Ya lo he probado, funcionó correctamente.

MUCHAS GRACIAS.


Ultima edición por rockfavc el Mar 02 Mar, 2004 4:50 pm, editado 1 vez
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.