Estou com o seguinte problema:
No cliente tem lá meu aplicativo instalado, tudo ok pra abrir PDFs, usando ShellExecute()
Se troco o aplicativo pra uma versão mais nova, isso não funciona mais.
Somente nessa instalação, Windows Server 2008 R2, Terminal Service.
Em qualquer outro lugar continua funcionando normalmente.
Alguma idéia?
ShellExecute()
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
ShellExecute()
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
ShellExecute()
Tente usar Win_Open_File( cPath, cFile ):
Código: Selecionar todos
/*
Função em C# para abrir arquivos externos reconhecidos nas extensões do Windows.
Exemplo de Uso: WIN_OPEN_FILE( cPath, cFile )
*/
#pragma BEGINDUMP
#include "hbapi.h"
#include <windows.h>
HB_FUNC( WIN_OPEN_FILE )
{
HINSTANCE hInst;
LPCTSTR lpPath = (LPTSTR) hb_parc( 1 );
LPCTSTR lpHelpFile = (LPTSTR) hb_parc( 2 );
hInst = ShellExecute( 0, "open", lpHelpFile, 0, lpPath, SW_SHOW );
hb_retnl( (LONG) hInst );
return;
}
#pragma ENDDUMPAbraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
ShellExecute()
O que o Jairo postou já tem na hbwin, é isso que eu uso.
Estou verificando agora outra possibilidade:
Pode ser que não foi gerado o PDF, por mudança no esquema das imagens.
Vou fazer uma revisão melhor em tudo, pra ver se não aprontei em outra parte.
Estou verificando agora outra possibilidade:
Pode ser que não foi gerado o PDF, por mudança no esquema das imagens.
Vou fazer uma revisão melhor em tudo, pra ver se não aprontei em outra parte.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
ShellExecute()
Bingo....
Aquele erro do MySQL, de estouro de tamanho, impediu a atualização de resources.
Com a falta de atualização de resources, não atualizou as imagens.
E com a falta de atualização de imagens.... os PDFs não estavam sendo gerados !!!
Sem resource a harupdf não acusa erro, apenas não gera o PDF.
Então, o problema não era no shellexecute() mas sim na falta da imagem, que causava a falta do PDF.
Mesmo assim obrigado pela ajuda.
Ao Jairo:
ShellExecute() faz parte da hbwin, pelo menos no Harbour 3.4.
Verifique se tem no 3.2 hbmk2 -find shellexecute
Eu criei as alternativas pra não ter que ficar repetindo a mesma coisa em tudo que é fonte.
E é bom que assim você já deixa seu default sempre configurado, só altera se existir exceção.
Aquele erro do MySQL, de estouro de tamanho, impediu a atualização de resources.
Com a falta de atualização de resources, não atualizou as imagens.
E com a falta de atualização de imagens.... os PDFs não estavam sendo gerados !!!
Sem resource a harupdf não acusa erro, apenas não gera o PDF.
Então, o problema não era no shellexecute() mas sim na falta da imagem, que causava a falta do PDF.
Mesmo assim obrigado pela ajuda.
Ao Jairo:
ShellExecute() faz parte da hbwin, pelo menos no Harbour 3.4.
Verifique se tem no 3.2 hbmk2 -find shellexecute
Código: Selecionar todos
d:\fontes\integra>hbmk2 -find shellexecute
hbwin.hbc (instalado):
wapi_ShellExecute()
addons\josequintas\libjpa.hbc (não instalado):
shellexecuteopen()
shellexecuteprint()
shellexecuterunas()
Código: Selecionar todos
FUNCTION ShellExecuteRunAs( cFileName, cParameters, cPath, nShow )
wapi_ShellExecute( NIL, "RunAs", cFileName, cParameters, cPath, hb_DefaultValue( nShow, WIN_SW_SHOWNORMAL ) )
RETURN NIL
FUNCTION ShellExecuteOpen( cFileName, cParameters, cPath, nShow )
wapi_ShellExecute( Nil, "open", cFileName, cParameters, cPath, hb_DefaultValue( nShow, WIN_SW_SHOWNORMAL ) )
RETURN NIL
FUNCTION ShellExecutePrint( cFileName, cParameters, cPath, nShow )
wapi_ShellExecute( NIL, "print", cFileName, cParameters, cPath, hb_DefaultValue( nShow, WIN_SW_SHOWMINNOACTIVE ) )
RETURN NIL
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
ShellExecute()
Olá José,
A primeira executa a função externa e o sistema fica liberado, a segunda executa e bloqueia o sistema até que a função executada seja fechada. Interessante...
Tem sim... Tem a wapi_ShellExecute() e a wapi_ShellExecuteWait().JoséQuintas escreveu:Ao Jairo:
ShellExecute() faz parte da hbwin, pelo menos no Harbour 3.4.
Verifique se tem no 3.2 hbmk2 -find shellexecute
A primeira executa a função externa e o sistema fica liberado, a segunda executa e bloqueia o sistema até que a função executada seja fechada. Interessante...
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
