Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-05-2008
lacovera lacovera is offline
Miembro
 
Registrado: dic 2006
Posts: 87
Poder: 18
lacovera Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 06-05-2008
santus santus is offline
Miembro
 
Registrado: ene 2006
Posts: 130
Poder: 19
santus Va por buen camino
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 Aqui te dejo un link.

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.
Responder Con Cita
  #3  
Antiguo 07-05-2008
CFPA86 CFPA86 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Medellin (Colombia)
Posts: 119
Poder: 21
CFPA86 Va por buen camino
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.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
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


La franja horaria es GMT +2. Ahora son las 20:06:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi