PDA

Ver la Versión Completa : Pasar variables entre programas


Belaix
23-11-2008, 14:39:00
Debo tener un problema psicologico con el buscador, porque no encuentro esta respuesta, y debería estar .. :mad:

¿Que es lo que debo hacer para pasar variables entre 2 programas delphi?

Agradecería cualquier comentario que de luz a mi oscuridad :p

DarkMan
23-11-2008, 15:42:30
Prueba buscando sobre mensajes con "sendMessage" o "postMessage". Es una manera de enviarle datos a otra aplicación, sea tuya o no.

Caral
23-11-2008, 16:48:52
Hola
Aqui hay un ejemplo.
Son dos programas (project1 y 2), el primero envía un dato y a la vez llama al segundo programa el que muestra el dato.
Revisa el código, veras que el primero obtiene la dirección del segundo (recuerda cambiarla para que te funcione bien).
Tal vez te sirva de ejemplo.
Saludos

cHackAll
23-11-2008, 17:08:54
Tambien puedes adaptar el código de éste (http://www.clubdelphi.com/foros/showpost.php?p=297599) post.

Caral
23-11-2008, 20:45:28
Hola
Yo tengo una pregunta:
Sirvieron los ejemplos??.
O tal ves haciendo algo mas complejo como que el segundo programa retorne un mensaje al primero en el momento que lo capture.
O tal vez que las variables hagan algo adicional en el camino, pasando por la api.
No se, tal vez asi podremos obtener una respuesta del interesado.
Saludos

Al González
24-11-2008, 07:06:31
Hola Belaix.

No comentas mucho sobre cuál es el objetivo final de ese paso de variables. Proporcionando un poco más de contexto podrían surgir más fácilmente ideas para una solución adecuada.

Las posibles opciones que me vienen ahora a la mente son:

1. Envío de mensajes entre las aplicaciones con alguna de las dos funciones que señaló DarkMan.
2. Uso del mensaje wm_CopyData.
3. Manejo de memoria compartida con las funciones de la API de Windows que cHackAll utiliza en su ejemplo.

Sin demeritar el ejemplo de Javier, en caso de optar por el uso de memoria compartida, te recomiendo echarle un vistazo a este código (http://www.clubdelphi.com/foros/showthread.php?t=53146) y usarlo con toda libertad en tu programa si te sirve de algo.

Un saludo a todos.

Al González. :)