
Como pasar valores o parámetros a otra aplicación
#1
Posted 19 November 2008 - 08:52 PM
#2
Posted 20 November 2008 - 05:56 AM
- ¿La segunda aplicación la ejecutas desde tu programa o ya esta abierta?
- ¿El valor es numérico o es un String?
#3
Posted 20 November 2008 - 08:33 AM
Necesito mas datos para darte una respuesta:
- ¿La segunda aplicación la ejecutas desde tu programa o ya esta abierta?
- ¿El valor es numérico o es un String?


La otra aplicacion la llamaria desde mi programa mediante el ShellExecute, el valor con el que quiero hacer la prueba es un String, estuve consultando con la ayuda de Delphi la funcion SendMessage pero con lo poco que entendi no sabría como la otra aplicacion deberia leer los valores :^)...
#4
Posted 20 November 2008 - 12:35 PM
#5
Posted 20 November 2008 - 12:57 PM
En algún programa he implementado esa función, pero no me acuerdo como lo hice y tampoco encuentro el programa.La función ShellExecute tiene un parámetro llamado "Parameters" donde le puedes indicar los parámetros que se deben pasar a la aplicación que se va a ejecutar. Luego desde la segunda aplicación puedes leer esos parámetros usando la función ParamStr y ParamCount.

Podrías darnos un ejemplo sencillo de como pasar esos datos?.
Saludos
#6
Posted 20 November 2008 - 01:49 PM
Correcto amigo, entiendo lo que dices... planteo el siguiente ejemplo: Quieres abrir Word desde Delphi y que al hacerlo este contenga un mensaje que escribes desde tu aplicación.La función ShellExecute tiene un parámetro llamado "Parameters" donde le puedes indicar los parámetros que se deben pasar a la aplicación que se va a ejecutar. Luego desde la segunda aplicación puedes leer esos parámetros usando la función ParamStr y ParamCount.
Aclaro: Expongo este ejemplo solo como indicacion de lo que quiero hacer, ya que si realmente tuviera que hacer eso usaria el WordApplication



#7
Posted 21 November 2008 - 06:36 AM
En cambio si la aplicación es tuya pues simplemente ejecutala con el parámetro "Hola mundo" y en el evento OnCreate pon esto:
Label1.caption:= ParamStr(1);
#8
Posted 21 November 2008 - 09:04 AM
He ahí el dilemaUn momento, si la aplicación a la que queremos enviar los parámetros no es nuestra la cosa cambia. Entonces tendrás que usar el método que hayan pensado los programadores de la misma, si han pensado en alguno.


Saludos
#9
Posted 23 November 2008 - 02:12 PM
Revisando La función ShellExecute y la forma de adquirir el dato realice un ejemplo pero solo me recibe un dato.
Como podria enviar mas de uno.
Me explico con lo que hice:
En el primer programa coloco un edit y un boton:
En el evento del boton:
procedure TForm1.Button1Click(Sender: TObject); var dato: PChar; begin Dato:= PChar(Edit1.Text); ShellExecute(Form1.Handle, nil, 'C:\Program Files\Borland\Delphi6\Projects\Pasar dato a otro programa\Project2.exe',dato, nil, SW_SHOWNORMAL); end;
Paso el valor del edit al pchar.
En el otro programa que recibe el dato pongo un edit y en el evento oncreate esto:
Edit1.Text:= ParamStr(1);
Bueno el dato se recibe, pero solo la primera palabra, si es una frase no.
Como se puede enviar una frase??
Saludos
#10
Posted 25 November 2008 - 09:30 AM

Si quieres pasar valores entre dos aplicaciones (Creadas por ti), este es un buen ejemplo que te servirá

http://delphiallimit...ciones-sin.html
#11
Posted 25 November 2008 - 09:55 AM
Muy interesante amigo.
Muchas gracias.
Saludos
#12
Posted 25 November 2008 - 10:25 AM
