Fecha o sistem ao chamar DLLCALL()

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

marcos.gurupi
Usuário Nível 4
Usuário Nível 4
Mensagens: 939
Registrado em: 06 Jul 2004 11:53
Localização: Gurupi-TO

Fecha o sistem ao chamar DLLCALL()

Mensagem por marcos.gurupi »

Caros, uso o xhb 1.0.0 + hwgui 2.17 e jah uso a funcao dllcall() para
acessar por exemplo a dll da Daruma sem problemas. Eu comecei a testar uma
dll para geracao do sped (SPEDFiscal32dll.dll), ela carrega normalmente
(DLLLoad()) mas quando vou iniciar especificamente essa funcao: Inicia_SPED
o sistema apresenta um erro e fecha, ou seja, nao retorna nada somente
apresenta: O SISTEMA ENCONTROU UM ERRO E PRECISA SER FECHADO segue abaixo a
forma q estou usando:

Código: Selecionar todos

Local ArqSped:=DiskName()+":\"+CurDir()+"\SPEDFiscal32dll.dll"
Local Dir_S:="C:\"
Local Dir_E:="C:\NetServ\"

   DllSped:= DllLoad(ArqSped)
   iRetorno:=DllCall(DllSped,32,"Inicia_SPED",Dir_S,Dir_E)
Se alguem poder me dar uma luz eu agradeceria muito.

Marcos Roberto.
Marcos Roberto
NetService Software
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Fecha o sistem ao chamar DLLCALL()

Mensagem por Itamar M. Lins Jr. »

Ola!
Já testou com o Harbour do SVN ?

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
marcos.gurupi
Usuário Nível 4
Usuário Nível 4
Mensagens: 939
Registrado em: 06 Jul 2004 11:53
Localização: Gurupi-TO

Fecha o sistem ao chamar DLLCALL()

Mensagem por marcos.gurupi »

Eu mudei para o XHB 1.2.1 + HWGUI 2.17 e ao inves de fechar simplesmente o sistema ele apresenta o erro da dll, bom! Mas ele diz assim:

O DIRETORIO DE SAIDA INFORMADO INEXISTENTE: C\

Mas estou usando assim:

Código: Selecionar todos

Dir_S:=DiskName()+":\"+CurDir()
Tambem tentei assim:

Código: Selecionar todos

Dir_S:="C:\NETSERV"
Ele retorna assim:

O DIRETORIO DE SAIDA INFORMADO INEXISTENTE: C:\netserv]


Marcos Roberto.
Marcos Roberto
NetService Software
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Fecha o sistem ao chamar DLLCALL()

Mensagem por Itamar M. Lins Jr. »

Tenta assim:

Código: Selecionar todos

Dir_S:="C:\NETSERV\"
Sudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
marcos.gurupi
Usuário Nível 4
Usuário Nível 4
Mensagens: 939
Registrado em: 06 Jul 2004 11:53
Localização: Gurupi-TO

Fecha o sistem ao chamar DLLCALL()

Mensagem por marcos.gurupi »

Eu nao informei mas jah tentei ("C:\NETSERV\"), tentei tb C:\, tentei c:\netserv e com a funcao curdir()

Me parece uma incompatibilidade entre o DLLCALL e a dll (feita para delphi)



Marcos Roberto
Marcos Roberto
NetService Software
marcos.gurupi
Usuário Nível 4
Usuário Nível 4
Mensagens: 939
Registrado em: 06 Jul 2004 11:53
Localização: Gurupi-TO

Fecha o sistem ao chamar DLLCALL()

Mensagem por marcos.gurupi »

Itamar, onde eu consigo o instalador do harbour? O problema do xhb e hb eh justamente a instalacao cheia de detalhes, pra instalar o xhb por exemplo demorei 3 dias entre instalacao e configuracao. Gostaria de testar o harbour + hwgui 2.17 vc teria ai um instalador ou mesmo um "caminho das pedras" para facilitar minha vida aqui. Afinal estou sem tempo nenhum, preciso criar o SPED FISCAL rapidamente para enviar para o meus clientes e o uso dessa dll facilitaria pra mim.

Tive outros problemas com a DLLCALL() tentei usar o comando novo da dll da bematech e nao tive sucesso, tambem para gerar o SPED.

Marcos Roberto.
Marcos Roberto
NetService Software
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Fecha o sistem ao chamar DLLCALL()

Mensagem por Jairo Maia »

Olá Marcos Roberto,

Para baixar o instalador do xHarbour 1.2.1 + Hwgui 2.17 + Exemplos, use a opção do Leonardo na seção downloads. Ele deixa o xHarbour instalado e pronto para uso.

Para baixar o Harbour 2.1, o Itamar me passou há um tempo atrás este link: Harbour 2.1.0
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)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Fecha o sistem ao chamar DLLCALL()

Mensagem por asimoes »

Marcos,

A algum tempo, fiz alguns testes com dll feita em delphi, consegui passar parametros e retornar valor, adaptei um código que eu fiz para você testar, o teste foi feito com harbour.

Código: Selecionar todos

#include "hbdyn.ch"
Local ArqSped:=DiskName()+":\"+CurDir()+"\SPEDFiscal32dll.dll"
Local Dir_S:="C:\"
Local Dir_E:="C:\NetServ\"

   nHandleDLL:=hb_LibLoad(ArqSped)
   iRetorno:=hb_dynCall( { "Inicia_SPED", ArqSped,hb_bitOr( HB_DYN_CTYPE_CHAR_PTR , HB_DYN_CALLCONV_CDECL )},Dir_S,Dir_E)
[]´s
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
marcos.gurupi
Usuário Nível 4
Usuário Nível 4
Mensagens: 939
Registrado em: 06 Jul 2004 11:53
Localização: Gurupi-TO

Fecha o sistem ao chamar DLLCALL()

Mensagem por marcos.gurupi »

Obrigado. Eu nao tenho o harbour aqui, estou pensando seriamente em mudar para harbour mas estou sem tempo para instalar testar e passar o meu sistema para harbour. Preciso de uma solucao urgentissima para o xharbour por agora.

Caro jairo, o xhb (1.2.1+hwgui 2.17) estah instalado mas nele mesmo estou tento problemas com o dllcall(), por isso precisaria de um instalador do harbour para fazer o teste rapidamente, pq se instalar o harbour for dificil como o xhb eu nao teria tempo para instalar testar.


Marcos Roberto.
Marcos Roberto
NetService Software
willians
Usuário Nível 1
Usuário Nível 1
Mensagens: 1
Registrado em: 07 Jul 2011 20:25
Localização: São Paulo/SP

Fecha o sistem ao chamar DLLCALL() ** resolvido ** !!!!

Mensagem por willians »

prezado, tive esse problema também... tava quase desistindo mas encontrei a solução, o problema é o compilador mingw, na hora de linkar, use o bcc, ele não vem junto com o harbour mas vai no site da borland ou qualquer outro de download, instala o bicho e coloca a opção no hbmk -comp=bcc e caso o harbour não o encontre, inclua-o no path.
se não conseguir manda mensagem que eu te faço um passo a passo.
abraço.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Fecha o sistem ao chamar DLLCALL()

Mensagem por sygecom »

Bem vindo ao Forum willians,

O colega Marcos está tendo esse problema com xHarbour, acredito que deve ser outro problema.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder