Scooby Posted September 29, 2014 Report Share Posted September 29, 2014 Boa Tarde gente!!!Eu estou com o seguinte problema: Estou usando a função "winexec" e não consegui puxar o retorno do gbasmsb.exe.Se eu abrir uma janela do prompt do DOS e executar o comando "gbasmsb.exe --solicitacao 12345678909 12123123000111 3759 GO 29/09/2014 > c:\retorno.txt" eu consigo gerar o arquivo texto com o conteúdo do DNA gerado, porém se eu faço a mesma execução dentro do sistema o mesmo não retorna nenhum arquivo, somente abre o prompt do Dos e fecha.Alguém já passou por esse problema? Quote Link to comment Share on other sites More sharing options...
kapiaba Posted September 30, 2014 Report Share Posted September 30, 2014 Mostre a Sintaxe que vc. está usando no winexec() Quote Link to comment Share on other sites More sharing options...
Scooby Posted September 30, 2014 Author Report Share Posted September 30, 2014 local nHandle, cTmpFile := dtos(date())+strtran(time(),":")+".dna" local cExeDir := CurDrive()+":\"+CurDir()+'\gbas\windows\' ::Dna := "" ferase( cTmpFile ) if !File( cExeDir+"gbasmsb.exe" ) MsgStop('Arquivo gbasmsb.exe não localizado!','Atenção') Return( .F. ) endif WinExec( "gbasmsb.exe --solicitacao 12345678909 12123123000111 3759 GO 30/09/2014 > c:\retorno.txt" ) WinExec( cExeDir+"gbasmsb.exe --solicitacao 12345678909 12123123000111 3759 GO 30/09/2014 > c:\retorno.txt" ) WinExec( cExeDir+"gbasmsb.exe --solicitacao "+::Cpf+" "+::Cnpj+" "+::Crm+" "+::UF+" "+dtoc(::Data_Receita) ) return (.t.) Quote Link to comment Share on other sites More sharing options...
kapiaba Posted September 30, 2014 Report Share Posted September 30, 2014 O que me parece, é que o comando está funcionado, mas se for windows 7, ele não deixa gravar diretamente em C:\ se não tiver privilégio de <Administrador>. Experimente mandar para C:\RETORNO\RETORNO.TXT para ver o que ocorre, Se funcionar, você "mata" a xarada. Se não funcionar, tem algo errado com esse GAMBA.EXE -> kkkkkkkkkkkkkkkkkkkkk // Crie o diretorio C:\retorno MSGRUN( "Gerando a Impressão do Gamba... Espere!.", ; "Por Favor, Espere! Gerando o Gamba... ", ; { || WINEXEC( cExeDir+"gbasmsb.exe --solicitacao 12345678909 12123123000111 3759 GO 30/09/2014 > c:\Retorno\retorno.txt", 1 ) } ) abs. Quote Link to comment Share on other sites More sharing options...
Scooby Posted September 30, 2014 Author Report Share Posted September 30, 2014 Bom Dia Kapiaba Então, o teste que eu estou fazendo é numa máquina com windows XP, eu já fiz diversos testes... quando eu tiro o conteudo " > C:\retorno.txt" ou " > c:\retorno\retorno.txt", o executável gbasmsb.exe gera a chave que preciso, isso usando o winexec. Porém ao executar esse mesmo comando no prompt de comando o arquivo é gerado com sucesso... por isso eu não sei se de fato o problema é no executavel ( gbasmsb ). Coloquei o trecho que código que você me passou e ocorreu o mesmo problema... abre-se uma tela do dos, porém não é gerado o arquivo dentro da pasta c:\retorno Quote Link to comment Share on other sites More sharing options...
kapiaba Posted September 30, 2014 Report Share Posted September 30, 2014 Compare... C:\FWH1306\lib\FiveHX.Lib + C:\FWH1306\lib\FiveHC.Lib + C:\XHB280714\lib\hbzip.Lib + C:\XHB280714\lib\zlib.Lib + C:\XHB280714\lib\rtl.Lib + C:\XHB280714\lib\vm.Lib + C:\XHB280714\lib\gtgui.Lib + C:\XHB280714\lib\lang.Lib + C:\XHB280714\lib\macro.Lib + C:\XHB280714\lib\rdd.Lib + C:\XHB280714\lib\dbfntx.Lib + C:\XHB280714\lib\dbfcdx.Lib + C:\XHB280714\lib\debug.Lib + C:\XHB280714\lib\common.Lib + C:\XHB280714\lib\tip.Lib + C:\XHB280714\lib\pp.Lib + C:\XHB280714\lib\dbffpt.Lib + c:\XHB280714\lib\hbsix.lib + C:\XHB280714\lib\codepage.Lib + c:\XHB280714\lib\libmisc.lib + C:\XHB280714\lib\PcRepos.Lib + C:\XHB280714\Lib\ct.Lib + C:\XHB280714\Lib\png.Lib + C:\Bcc582\lib\cw32.Lib + c:\bcc582\lib\import32.lib + c:\bcc582\lib\uuid.lib + c:\bcc582\lib\ws2_32.lib + C:\Bcc582\lib\psdk\msimg32.Lib + C:\Bcc582\lib\psdk\odbc32.Lib + C:\Bcc582\lib\psdk\rasapi32.Lib + C:\Bcc582\lib\psdk\nddeapi.Lib + C:\Bcc582\lib\psdk\psapi.Lib + c:\bcc582\lib\psdk\gdiplus.lib + C:\Bcc582\lib\psdk\iphlpapi.Lib + C:\Bcc582\lib\import32.Lib Quote Link to comment Share on other sites More sharing options...
kapiaba Posted September 30, 2014 Report Share Posted September 30, 2014 Gamba.exe está mesmo em cExeDir?? Mostre o comando onde você guarda o gamba.exe. kkkkkkkkk cExeDir+"gbasmsb.exe abs Quote Link to comment Share on other sites More sharing options...
Scooby Posted September 30, 2014 Author Report Share Posted September 30, 2014 Boa Tarde Kapiaba Então... Configurei as Dll´s do mesmo jeito do seu e o erro persiste. Sim o executavel, Gbasmsb.exe se encontra tanto no diretório onde se encontra o executável, quanto CurDrive()+":\"+CurDir()+'\gbas\windows\' e em nenhum dos casos eu consigo gerar o arquivo, via winexec. Eu faço a verificação antes de enviar o comando de gerar o arquivo txt. if !File( cExeDir+"gbasmsb.exe" ) MsgStop('Arquivo gbasmsb.exe não localizado!','Atenção') Return( .F. ) endif Já passei um email para o suporte da DataSus e nada... eu tbm acho que o problema seja no executável, agora estou no aguardo da resposta deles. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted September 30, 2014 Report Share Posted September 30, 2014 CurDrive()+":\"+CurDir() ?? qual é a sua versão? Tente assim: PRIVATE cDirExe := cFILEPATH(GETMODULEFILENAME(GETINSTANCE())) PRIVATE cDirPleno // Novas versoes, tipo: FWH13.06 cDirPleno := GETCURDIR() // Novas Versoes // Versoes velhas: cDirPleno := CURDRIVE() + ":\" + GETCURDIR() abs Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.