![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Pasar parámetros entre programas
Buenas a todos, tengo un problema que me lleva de cabeza!!!
He de llamar, desde mi programa realizado en Delphi2006 a otro también mio pero en Delphi6 (es que uso para el programa en delphi6 un api que aun no está para el 2006). La cuestión es que le tengo que pasar parámetros desde el D2006 al D6, eso no hay problema, lo hago con la siguiente función procedure Tdmr.llamarprograma(const ruta,args: string; esperar: boolean); var salida: DWord; PSEI: PShellExecuteInfo; SEI: TShellExecuteInfo; begin if not FileExists(ruta) then Exit; with SEI do begin hInstApp := 0; lpVerb := nil; lpDirectory := nil; nShow := SW_NORMAL; cbSize := SizeOf(SEI); lpFile := PChar(ruta); wnd := GetDesktopWindow; lpParameters := Pchar(args+#0); fMask := SEE_MASK_NOCLOSEPROCESS; end; PSEI:= @SEI; ShellExecuteEx(PSEI); if not esperar then Exit; repeat salida := WaitForSingleObject( SEI.hProcess, 500); Application.ProcessMessages; until (salida <> WAIT_TIMEOUT); end; Y luego simplemente desde mi D2006 hago ésto dmr.llamarprograma(EjecutableD6.exe,pchar(presupuesto),true); El campo PRESUPUESTO se lo tengo que pasar a D6 para que realice la acción que le pido, y el true del final es para que el programa D2006 espere a que cierre el de D6 para seguir ejecutándose, la cuestión es (después de tanto rollo) ¿Sabeis si hay alguna forma de, al cerrar mi programa de D6 pueda obtener también un valor al igual que se los paso? Lo quiero simplemente por saber si le da a cancelar o no Un saludo y muchas gracias |
#2
|
|||
|
|||
holas
Se me ocurre que podrias enviar un mensaje al sistema, y que tu aplicación tome ese mensaje y lea su contenido. Aca te dejo un link que te explica como crear mensajes. Igualmente antes busca en el foro... he visto algo de variables superglobales... aunque ni idea si eso te serviría.. no te quiero hablar de algo que no conozco ![]() Suerte y me gustaria que si utilizas alguna solución de estas, y te funciona, lo comentes aqui en el este mismo hilo. Gracias.
__________________
"El ordenador nació para resolver problemas que antes no existían." Bill Gates. |
#3
|
|||
|
|||
Hola lacovera, quizas no es mas facil pasar el parametro por medio del registro de windows, me explico Ejecuto un primer programa calculo un dato X ese dato lo grabo en el registro de windows, luego ejecuto el segundo programa donde leo el registro y la vble donde esta el dato X.
Creo puede ser una de tantas soluciones posibles
__________________
Siempre hay un primer momento para todo. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Comunicacion entre programas | totote | Varios | 5 | 07-02-2008 10:40:29 |
Pasar parametros entre aplicaciones | Iceman | OOP | 2 | 14-06-2005 16:29:25 |
Pasar parametros entre comilla | ramonibk | Varios | 3 | 06-10-2004 10:33:40 |
parametros entre dll's | xgerard | Varios | 12 | 22-11-2003 00:55:18 |
Abrir programas con parámetros cuando se recibe un mail | Athalon | Internet | 2 | 04-07-2003 14:14:05 |
![]() |
|