PDA

Ver la Versión Completa : Ejecutar aplicacion DOS desde delphi 2006


alain
11-07-2006, 00:53:37
Buenas, tengo un problema al tratar de ejecutar una aplicacion DOS desde mi aplicacion. Mi codigo es el siguiente

aux:= p + '\' + e + '\' + '#' + tipo + '\' + 'Usuarios' + '\*.png';
parametros:= PAnsiChar(aux);
ShellExecute(Self.Handle, '', 'convertir.exe', parametros, '', SW_MINIMIZE);

Ya lo debuguee un monton de veces, con diferentes valores y esta todo perfecto, el programa "convertir.exe" esta en el mismo directorio q mi programa, pero no hay caso, no me funciona. Si por ejemplo seteo la variable aux:= 'c:\*.png' funciona todo perfecto, no entiendo cual es el problema.
Espero q alguien pueda darme una mano con esto, muchas gracias.
Salu2!

PD: Los directorios con los q pruebo siempre tienen archivos .png, q es lo q espera el "convertir.exe"

seoane
11-07-2006, 01:17:26
Si cuando colocas un valor correcto en la variable aux el resto del codigo funciona, parece que le problema es que la variable aux tiene un valor incorrecto. Pero sin saber que contienen las variables p, e y Tipo es dificil decirte que esta mal.

Lo que si puedo hacer es intentar adivinar el fallo. Si la ruta que le pasas como parametro tiene espacios se considerara como varios parametros diferentes y no como uno solo. Solucion:


// Poniendo el parametro entre comillas evitamos confusiones
aux:= '"' + aux + '"';

alain
11-07-2006, 01:58:16
Muchas gracias seoane, era eso nomas... me siento un estupido, perdi horas con eso , pero bue... gracias por responder rapido
Salu2!