 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Luis Anibal Lt


Registrado: 12 Nov 2002Mensajes: 84Ubicación: Santiago del Estero, Argentina
|
Publicado: Sab 22 Sep, 2007 12:43 am Asunto: Quiero ejecutar un programa desde mi aplicacion |
|
|
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 |
|
 |
Luis Anibal Lt


Registrado: 12 Nov 2002Mensajes: 84Ubicación: Santiago del Estero, Argentina
|
Publicado: Sab 22 Sep, 2007 1:07 am Asunto: Ya funciona ... |
|
|
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 |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Sab 22 Sep, 2007 8:14 am Asunto: |
|
|
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 _________________
 |
|
| Volver arriba |
|
 |
Luis Anibal Lt


Registrado: 12 Nov 2002Mensajes: 84Ubicación: Santiago del Estero, Argentina
|
Publicado: Sab 22 Sep, 2007 12:50 pm Asunto: |
|
|
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 |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|