Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Quiero ejecutar un programa desde mi aplicacion

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Quiero ejecutar un programa desde mi aplicacion Responder citando

Amigos,
Mi codigo es el siguiente

try
{
int result = spawnlp(P_WAIT, "gbak.bat", "gbak.bat", NULL );
if (result == -1)
{
AvisoError( "Error from spawnl", "ERROR AL COPIAR" );
}
else
Aviso("Proceso Realizado Con Exito!!", "TERMINADO" );
}
catch (...)
{
AvisoError( "INCONVENIENTES AL EFECTUAR LA COPIA DEL ARCHIVO",
"ERROR AL COPIAR" );
}

El contenido del GBAK.BAT es
GBAK -B -L -V -USER SYSDBA -PASSWORD masterkey -TRANSPORTABLE SBANCRED:/data/discof/St/GestCred/FB/clibanenvia.fdb E:\copia.gbk

que si lo lanzo desde la linea de comandos lo ejecuta sin problemas.

result termina con -1, por lo que me aparece el mensaje de error
"Error from spawnl", "ERROR AL COPIAR"

Alguien que haya usado spawnl con exito ?
Porque el segundo y tercer parametros son IGUALES !!??

Somebody help meeee !!



PD: soy el mismo que solicita ayuda para el IBBackupService en el foro de Base de Datos.
_________________
Luis Anibal Mendez
Analisis, Programacion, Asesoramiento
luisanibalmendez@gmail.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Ya funciona ... Responder citando

Amigos,
He logrado que el spawnl funcione adecuadamente.

Como ?

En el codigo que referencio previamente dice
int result = spawnlp(P_WAIT, "gbak.bat", "gbak.bat", NULL );

Lo he cambiado por
int result = spawnlp(P_WAIT, "c:\\bcb\\gc6\\gbak.bat", "c:\\bcb\\gc6\\gbak.bat", NULL );

Es decir, incluyendo el path del programa a ejecutar y eso fue todo.
Ahora quiero ver de pasarle parametros al gbak.bat ...
Nos vemos !!
_________________
Luis Anibal Mendez
Analisis, Programacion, Asesoramiento
luisanibalmendez@gmail.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Para ejecutar un programa desde tu Aplicación, puedes usar cualquiera de los siguientes elementos.

1.- usando la funcion ShellExecute(), y el archivo de cabecera ShelApi.h
2.- Usando la Funcion WinExec

los parametros son casi los mismos que estas usando
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Gracias Cesar,
Les cuento que ya funciona como yo pretendia.
Ejecuta un GBAK.EXE pasandole como parametros el nombre de
la base firebird y la ubicacion donde residira la copia.
Ambos como argumentos 3 y 4 del spawn.
Son AnsiString, pero hay que usar .c_str().

Queda como pendiente el porque no funcionaba cuando
queria hacerlo con IBBackupService.

Hasta la proxima !!
_________________
Luis Anibal Mendez
Analisis, Programacion, Asesoramiento
luisanibalmendez@gmail.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.