Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   ShellExecute (https://www.clubdelphi.com/foros/showthread.php?t=66929)

mjjj 19-03-2010 17:24:25

ShellExecute
 
Amigos, utilizo esta linea de comando para ejecutar un archivo de excel.

Código Delphi [-]
ShellExecute(Handle,nil,PChar(savedialog1.FileName),'','',SW_SHOW);

La primera vez que ejecuto esa linea funciona bien, abre el Excel y el archivo, el problema es la segunda, tercera, etc. no abre ni hace nada...
Tampoco me arroja errores.

Que podra ser?

Saludos

Casimiro Notevi 19-03-2010 17:35:05

Al final de esta página tienes varios enlaces que tratan el tema, espero que encuentres la solución ahí :)

Caro 19-03-2010 18:02:51

Cita:

Empezado por mjjj (Mensaje 357539)
Amigos, utilizo esta linea de comando para ejecutar un archivo de excel.


Código Delphi [-]
ShellExecute(Handle,nil,PChar(savedialog1.FileName),'','',SW_SHOW);





La primera vez que ejecuto esa linea funciona bien, abre el Excel y el archivo, el problema es la segunda, tercera, etc. no abre ni hace nada...
Tampoco me arroja errores.

Hola, que raro, yo lo hago de esa forma y me funciona bien, abre el documento todas las veces que se ejecuta esa línea.

Saluditos

BrunoBsso 19-03-2010 19:32:28

Probá asi:
ShellExecute(Handle, 'open', PChar(savedialog1.FileName), nil, nil, SW_SHOWNORMAL);
Si te da error donde se encuentra el primer nil, ponele ''
Saludos.

andres1569 17-04-2010 21:39:20

Hola,

Según la ayuda que aporta Delphi sobre esta función, cuando lo que se va a abrir es un documento (no un ejecutable), el último parámetro debe ser 0.

Precisamente estos días he programado esto de lanzar un archivo Excel mediante ShellExecute, y me funciona correctamente ... salvo cuando previamente he manipulado algún archivo Excel usando automatización OLE (usando la librería ExcelTLB), que me deja algo inestable que impide que ShellExecute funcione correctamente desde ese momento. Salvo esta excepción que aún no he podido solucionar, y que puede que a tí no te afecte, no deberías tener problemas poniendo el último parámetro a 0.

Salu2


La franja horaria es GMT +2. Ahora son las 01:39:44.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi