Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ejecutar aplicación externa con parametros (https://www.clubdelphi.com/foros/showthread.php?t=26539)

vtorres 26-10-2005 08:34:35

Ejecutar aplicación externa con parametros
 
Hola:

Necesito ejecutar una aplicación externa e incluirle un parámetro. La aplicación externa es un compresor de archivos y el parámetro es un nombre
de archivo que selecciono con un 'OpenDialog'. Lo he intentado con WinExe, pero no acepta la selección que hago con el 'OpenDialog'.

He probado lo siguiente:

WinExe( 'Compresor.exe' + ' ' + 'Archivo_a_Comprimir.exe', 1 );

'Compresor.exe' es un parámetro fijo.

Esto si funciona, pero si sustituyo 'Archivo_a_Comprimir.exe' por una variable
que contenga la selección del OpenDialog, no funciona.

Da un error de incompatibilidad entre String y PAnsiChar. Entonces hago lo
siguiente:

PAnsiChar( 'Archivo_a_Comprimir.exe' )

pero tampoco funciona.

Gracias por adelantado.

dec 26-10-2005 08:43:42

Hola,

Prueba con "PChar('cadena')" en lugar de "PAnsiChar('cadena')".

vtorres 26-10-2005 12:28:22

Lo intenté pero tampoco funciona.

dec 26-10-2005 12:34:56

Hola,

¿Qué significa que no funciona? ¿No te aparece ningún error? ¿Cuál, si es así? ¿Podrías copiar el código fuente de tu último intento? ;)

jachguate 26-10-2005 18:24:08

Cita:

Empezado por vtorres
Lo intenté pero tampoco funciona.

Hola vtorres. Te invito a leer el hilo de la calidad de las preguntas.

Hasta luego.

;)

delphi.com.ar 26-10-2005 18:35:50

Cita:

Empezado por vtorres
Lo intenté pero tampoco funciona.

No funcionará porque estas concatenando un String con un PChar o PAnsiChar.... Cuando tengas un problema para consultar, y algo "no funcione" porque te de un error, sería buenísimo que nos digas cual es el error.

Código Delphi [-]
WinExe(PChar('Compresor.exe ' + OpenDialog1.FileName), SW_SHOWNORMAL);

Saludos!

ferna 28-10-2005 04:34:02

Yo utilizo este codigo...
 
Hola VTORRES, te paso el codigo que utilizo para cargar una aplicacion externa y pasarle los parametros:

Código Delphi [-]
  procedure TForm1.Button1Click(Sender: TObject);
 var
   CargarCompresor : string;
   Archivo : string;
 begin
   if opendialog1.Execute then
   begin
     CargarCompresor := 'C:\Archivos de programa\WinRAR\winrar.exe';
     Archivo := opendialog1.FileName;
     winexec(pchar( '"'+CargarCompresor+'" "'+Archivo+'"'),SW_MAXIMIZE);
   end;
 end;
Bueno espero que te sirva.
saludos
Fernando


La franja horaria es GMT +2. Ahora son las 01:31:05.

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