Ir para conteúdo
  • Cadastre-se

dev botao

Como substituir o funcao hb_StrToUTF8()


Ver Solução Respondido por José M. S. Junior,
  • Este tópico foi criado há 640 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

METHOD ConfigLer(eArqConfig) CLASS ACBrNFe
    local hResult
    hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_ConfigLer", hb_StrToUTF8(eArqConfig))
    ::CheckResult(hResult)
    RETURN nil

Atenciosamente,
Helio Beltrão Jr.
[email protected]
www.htisistemas.com

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Está usando o demo de exemplo de uso da lib em Harbour, correto?

Essa função deve fazer a conversão da String para UTF8, creio que não precisaria ser exatamente essa, qualquer que faça essa conversão pode ser utilizada, para passar os parâmetros de chamada do método da dll.

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia,

Estou testando essa metodo que peguei no ACBR e nao estar retornando em branco:

FUNCTION Versao()
    local hResult, buffer, bufferLen
    bufferLen := STR_LEN
    buffer := Space(bufferLen)
    hResult := DllCall(hHandle, DLL_OSAPI, "NFE_Versao", @buffer, @bufferLen)
    atencao(buffer) // apresenta uma tela
    CheckResult(hResult)
    RETURN ProcessResult(buffer, bufferLen)
 

Editado por Helio Beltrao Jr.

Atenciosamente,
Helio Beltrão Jr.
[email protected]
www.htisistemas.com

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

A lib está sendo instanciada corretamente? A partir do momento que instancia é gerado o arquivo de configuração da lib no diretório, o arquivo é: "ACBrLib.ini" veja se está sendo gerado.

Também gera um arquivo de log onde pode validar o que a lib está recebendo e o que ela retornou.

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Pessoal,

Estava testando com o ACBRMONITORPLUS rodando mais depois que encerrei estar dando error a carregar a ACBRLIB.DLL o que estou fazendo de errado ?

#define ACBrLIB 'ACBrNFe32.dll'

hHandle := DllLoad(ACBrLIB)
    if ! EMPTY(hHandle)
        atencao("Erro a carregar a dll [" + ACBrLIB + "]")
    endif
 

Editado por Helio Beltrao Jr.

Atenciosamente,
Helio Beltrão Jr.
[email protected]
www.htisistemas.com

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores
2 minutos atrás, Helio Beltrao Jr. disse:

Estava testando com o ACBRMONITORPLUS rodando mais depois que encerrei estar dando error a carregar a ACBRLIB.DLL o que estou fazendo de errado ?

Qual a mensagem de erro?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa noite,

Consegui carregar a ACBRLIB.DLL agora o problema e em alguns metodos dar error por exemplo:

FUNCTION Versao()
        local hResult, buffer, bufferLen
        bufferLen := STR_LEN
        buffer := Space(bufferLen)
        hResult := DllCall(hHandle, DLL_OSAPI, "NFE_Versao", @buffer, @bufferLen)
        IF hResult = -10
                atencao('<VERSAO> Indica que houve falhas na execução do método.')

                RETURN .F.
        ENDIF
        //CheckResult(hResult)
        RETURN buffer   //ProcessResult(buffer, bufferLen)
 

Editado por Helio Beltrao Jr.

Atenciosamente,
Helio Beltrão Jr.
[email protected]
www.htisistemas.com

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores
5 horas atrás, Helio Beltrao Jr. disse:

Você está usando o exemplo no nosso SVN?

https://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/Harbour/NFe

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Pela versão da dll que está no log, parece que está usando a dll CDECL, creio que na sua linguagem seja STDCALL. Faça um teste copiando a dll da pasta MT / STDCALL / 32bits.

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
3 horas atrás, Helio Beltrao Jr. disse:

Bom dia,

Fiz os teste com os dois exemplo esse MT / STDCALL / 32bits. e CDECL da error no status do servico: Indica que houve erro ao consultar o status de serviço. utilizo o Xhabour 0.99

Qual o erro Helio? Se a lib está inicializando corretamente pode ser apenas configuração. Não utilizamos xHarbour aqui mas use a configuração indicada pelo colega @lucimauro. Comece realizando testes com métodos de configuração da lib ConfigGravarValor, ConfigGravar, ConfigLerValor... Esses métodos são utilizados para realizar a configuração da lib antes de enviar algum método da NFe:

https://acbr.sourceforge.io/ACBrLib/MetodosdeConfiguracao15.html

 

Anexe por favor o log.txt e a sua configuração ACBrLib.ini com os últimos testes.

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
  • Solution
1 hora atrás, Helio Beltrao Jr. disse:

Desculpe o que significa isso NFE_ConfigGravarValor(eSessao, eChave, sValor)

Estes métodos: GravarValor e LerValor você deve utilizar para alterar as configurações da lib ou ler alguma configuração da mesma depois de instanciá-la, correspondem a Sessão, Campo e Valor do arquivo ACBrLib.ini que deseja alterar ou ler. Ao utilizar os método ConfigGravar será atualizado o arquivo de configuração ACBrLib.ini com os valores passados utilizando o método GravarValor. (obs: O arquivo ACBrLib.ini não deve ser alterado manualmente e sim através desses métodos)

A inicializar a lib não precisa informar arquivo de configuração no parâmetro, deixe que a lib crie automaticamente no diretório raiz, assim evita erros, caso tenha configurado o arquivo manualmente.

https://acbr.sourceforge.io/ACBrLib/ConfiguracoesdaBiblioteca16.html

 

Eu sugiro que dê uma olhada no curso de Introdução da ACBrLib, nele é apresentado como ela funciona e como fazer as configurações, independente da linguagem que esteja usando.

Além disso é importante saber qual dll está usando (MT) ou (ST) pois os parâmetros mudam em cada caso e precisa implementar baseado nisso. E saber qual convenção deve usar na sua linguagem, mas tudo isso é explicado nas aulas, e pode facilitar o entendimento se está começando...

https://acbr.nutror.com/curso/e4f38b5c7398e4ccca8731c2d305952d389ac693

 

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.