Hola que tal:
Lo que yo hago para lanzar una aplicaci贸n es crear un archivo .LNK o .BAT:
LNK
if file("cyewin.lnk")
聽 erase cyewin.lnk
endif
oShell 聽:= TOleAuto():New( "WScript.Shell" )
o := oShell:CreateShortCut( 'cyewin.lnk')
o:WindowStyle 聽 聽 聽:= 1
o:TargetPath 聽 聽 聽 := CurDrive() + ':\' + CurDir() + '\cyewin\cyewin.exe'
o:Arguments 聽 聽 聽 聽:= ValEjer
o:WorkingDirectory := CurDrive() + ':\' + CurDir() + '\cyewin'
o:Description 聽 聽 聽:= 'CyEWin, Contabilidad y Estimaciones para Windows'
o:IconLocation 聽 聽 := CurDrive() + ':\' + CurDir() + '\cyewin\cyewin.ico'
o:Save()
ShellExecute(0,"Open","cyewin.lnk",NIL,NIL,1)
erase cyewin.lnk
BAT
if file("impr.bat")
聽 erase impr.bat
endif
set console off
m := fcreate ("impr.bat",0)
fwrite (m,"cd impranua")
fwrite (m,chr(13))
fwrite (m,chr(10))
fwrite (m,"java -jar PlataformaModulosInformativas.jar /E:" + nombfich + " /V:S /R:" + errofich)
fwrite (m,chr(13))
fwrite (m,chr(10))
fwrite (m,"cd ..")
fwrite (m,chr(13))
fwrite (m,chr(10))
fclose (m)
waitrun("impr.bat",0)
erase impr.bat
Al final uso waitrun o Shellexecute dependiendo de si quiero que espere o no a que termine la ejecuci贸n. Y borro el archivo que he creado.
Un saludo y espero que te sirva.
Carlos