FoxPro/Visual FoxPro - ejecutar

 
Vista:

ejecutar

Publicado por Willians (2 intervenciones) el 22/06/2006 22:54:23
Buenas tardes,

Qué sintaxis debo utilizar para ejecutar un .exe en un prg. La sintaxis que tengo es: RUN nombre_archivo.exe pero al ejecutar no levanta la aplicación.

Agradezco su ayuda.

Willians
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 29
Ha aumentado su posición en 3 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:ejecutar

Publicado por jalbo (271 intervenciones) el 23/06/2006 13:17:44
Hola:
Comprueba que el .exe que se llama, esté en misma carpeta. Si no es así, escribe la ruta en donde se encuentra: RUN c:\sistemas\elotro.exe
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:ejecutar

Publicado por Ernesto Hernandez (4623 intervenciones) el 24/06/2006 00:04:03
Puedes probar con la rutina siguiente o simplemente usar

!MiProgramaExterno


** Examples
******************************************************
** Launching a program by specifying the exe
******************************************************
** pcFileName = "c:\Program Files\Winzip\Winzip32.Exe"
** pcAction = "open"
** pcParams = ""
**
******************************************************
** Launching a program by specifying a file
******************************************************
** pcFileName = "f:\Data\Archive.Zip"
** pcAction = "open"
** pcParams = ""
**
**
****************************************************
Lparameters pcFileName,pcAction,pcParams,pcDefDir,pnShowWindow
* Filename
If Vartype(pcFileName) <> "C"
? "Need a file to open!"
Return .F.
Endif

* Action
If Vartype(pcAction) <> "C"
pcAction = "open"
Endif

* Parameters
If Vartype(pcParams) <> "C"
pcParams = ""
ENDIF

* Default Directory
If Vartype(pcDefDir) <> "C"
pcDefDir = ADDBS(SYS(5)+CURDIR())
ENDIF

* Show Window (min / Max etc)
If Vartype(pnShowWindow) <> "N"
pnShowWindow = 1
Endif

#Define SE_ERR_FNF 2
#Define SE_ERR_PNF 3
#Define SE_ERR_ACCESSDENIED 5
#Define SE_ERR_OOM 8
#Define SE_ERR_DLLNOTFOUND 32
#Define SE_ERR_SHARE 26
#Define SE_ERR_ASSOCINCOMPLETE 27
#Define SE_ERR_DDETIMEOUT 28
#Define SE_ERR_DDEFAIL 29
#Define SE_ERR_DDEBUSY 30
#Define SE_ERR_NOASSOC 31
#Define ERROR_BAD_FORMAT 11

Declare Integer ShellExecute In shell32.Dll ;
INTEGER hndWin, ;
STRING cAction, ;
STRING cFileName, ;
STRING cParams, ;
STRING cDir, ;
INTEGER nShowWin

cFileName = pcFileName
cAction = pcAction
cParams = pcParams
cDir = pcDefDir
nShowWin = pnShowWindow

Local lnRetVal
lnRetVal = 0
lnRetVal = ShellExecute(0,cAction,cFileName,cParams,cDir,nShowWin)

If lnRetVal <= 32
Local msg
msg = ""
*There was an error
Do Case
Case lnRetVal = SE_ERR_FNF
msg = "File not found"
Case lnRetVal = SE_ERR_PNF
msg = "Path not found"
Case lnRetVal = SE_ERR_ACCESSDENIED
msg = "Access denied"
Case lnRetVal = SE_ERR_OOM
msg = "Out of memory"
Case lnRetVal = SE_ERR_DLLNOTFOUND
msg = "DLL not found"
Case lnRetVal = SE_ERR_SHARE
msg = "A sharing violation occurred"
Case lnRetVal = SE_ERR_ASSOCINCOMPLETE
msg = "Incomplete or invalid file association"
Case lnRetVal = SE_ERR_DDETIMEOUT
msg = "DDE Time out"
Case lnRetVal = SE_ERR_DDEFAIL
msg = "DDE transaction failed"
Case lnRetVal = SE_ERR_DDEBUSY
msg = "DDE busy"
Case lnRetVal = SE_ERR_NOASSOC
msg = "No association for file extension"
Case lnRetVal = ERROR_BAD_FORMAT
msg = "Invalid EXE file or error in EXE image"
Otherwise
msg = "Unknown error"
Endcase

? msg
Return .F.
Else
Return .T.
Endif

*************************************************************************

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar