SAT ELGIN SMART
Moderador: Moderadores
SAT ELGIN SMART
- Boa tarde pessoal, alguem tem e poderia ceder os fontes de comunicação com o equipamento SAT em harbour 3.2 utilizando a dll do acbr ou comunicação direta?
HASA
HASA
SAT ELGIN SMART
Pessoal do ACBr fez pra Harbour se não me engano tem no SVN deles, não lembro de onde tirei o código abaixo, mas é mérito dos caras do ACBr junto com algum colega dos grupos de harbour
Código: Selecionar todos
#include "hbclass.ch"
#include "error.ch"
#define DC_CALL_CDECL 0x0010 // __cdecl
#define DC_CALL_STD 0x0020 // __stdcall
#ifdef _XHARBOUR_
#define ACBrLIBSat "ACBrSAT32.dll"
#define DLL_OSAPI DC_CALL_STD
#else
#if defined( __PLATFORM__WINDOWS )
#define ACBrLIBSat "ACBrSAT32.dll"
#define DLL_OSAPI DC_CALL_STD
#else
#define ACBrLIBSat "ACBrSAT32.so"
#define DLL_OSAPI DC_CALL_CDECL
#endif
#endif
#define STR_LEN 256
Function SatDemo ()
local sat
local vendaRetorno, strIniVenda
local hIni, hIniVenda
LOCAL cSection
sat := ACBrSat():New("", "")
// Sessão Chave Valor
// Configurações de log da Lib
sat:ConfigGravarValor("Principal", "LogNivel", "4") // logParanoico
sat:ConfigGravarValor("Principal", "LogPath", hb_dirBase())
//Configurações do Sat
sat:ConfigGravarValor("SAT", "Modelo", "1") // satDinamico_cdecl
sat:ConfigGravarValor("SAT", "NomeDLL", "C:\SAT\SAT.dll")
sat:ConfigGravarValor("SAT", "CodigoDeAtivacao", "sefaz1234")
sat:ConfigGravarValor("SAT", "SignAC", "111111111111122222222222222111111111111112222222222222211111111111111222222222222221111111111111122222222222222111111111111112222222222222211111111111111222222222222221111111111111122222222222222111111111111112222222222222211111111111111222222222222221111")
// Softhouse
sat:ConfigGravarValor("SATConfig", "infCFe_versaoDadosEnt", "0.07")
sat:ConfigGravarValor("SATConfig", "ide_CNPJ", "16716114000172")
sat:ConfigGravarValor("SATConfig", "ide_numeroCaixa", "0")
// Emitente
sat:ConfigGravarValor("SATConfig", "emit_CNPJ", "14200166000166")
sat:ConfigGravarValor("SATConfig", "emit_IE", "111111111111")
sat:ConfigGravarValor("SATConfig", "emit_IM", "")
sat:ConfigGravarValor("SATConfig", "emit_cRegTrib", "0") // RTSimplesNacional
sat:ConfigGravarValor("SATConfig", "emit_cRegTribISSQN", "0") // RTISSMicroempresaMunicipal
sat:ConfigGravarValor("SATConfig", "emit_indRatISSQN", "0") // irSim
// Extrato
sat:ConfigGravarValor("Extrato", "Tipo", "0") // teFortes
sat:ConfigGravarValor("Extrato", "MostraPreview", "1") // True
// Salvando configurações
sat:ConfigGravar("")
?sat:Nome
?sat:Versao
sat:Inicializar()
?sat:ConsultarStatusOperacional()
// Gerando ini venda
hIniVenda := Hash()
hIniVenda["infCFe"] := Hash()
hIniVenda["infCFe"]["versao"] := "0.07"
hIniVenda["Destinatario"] := Hash()
hIniVenda["Destinatario"]["CNPJCPF"] := "05481336000137"
hIniVenda["Destinatario"]["xNome"] := "D.J. SYSTEM"
hIniVenda["Entrega"] := Hash()
hIniVenda["Entrega"]["xLgr"] := "Rua Cel. Aureliano de Camargo"
hIniVenda["Entrega"]["nro"] := "973"
hIniVenda["Entrega"]["xCpl"] := ""
hIniVenda["Entrega"]["xBairro"] := "Centro"
hIniVenda["Entrega"]["xMun"] := "Tatui"
hIniVenda["Entrega"]["UF"] := "SP"
hIniVenda["Produto001"] := Hash()
hIniVenda["Produto001"]["cProd"] := "1189"
hIniVenda["Produto001"]["infAdProd"] := "Teste de Produto"
hIniVenda["Produto001"]["cEAN"] := ""
hIniVenda["Produto001"]["xProd"] := "OVO VERMELHO"
hIniVenda["Produto001"]["NCM"] := "04072100"
hIniVenda["Produto001"]["CFOP"] := "5102"
hIniVenda["Produto001"]["uCom"] := "DZ"
hIniVenda["Produto001"]["Combustivel"] := "0"
hIniVenda["Produto001"]["qCom"] := "510"
hIniVenda["Produto001"]["vUnCom"] := "2,70"
hIniVenda["Produto001"]["indRegra"] := "A"
hIniVenda["Produto001"]["vDesc"] := "0"
hIniVenda["Produto001"]["vOutro"] := "0"
hIniVenda["Produto001"]["vItem12741"] := "137,00"
hIniVenda["ObsFiscoDet001001"] := Hash()
hIniVenda["ObsFiscoDet001001"]["xCampoDet"] := "Teste"
hIniVenda["ObsFiscoDet001001"]["xTextoDet"] := "Texto Teste"
hIniVenda["ICMS001"] := Hash()
hIniVenda["ICMS001"]["Origem"] := "0"
hIniVenda["ICMS001"]["CSOSN"] := "500"
hIniVenda["PIS001"] := Hash()
hIniVenda["PIS001"]["CST"] := "01"
hIniVenda["COFINS001"] := Hash()
hIniVenda["COFINS001"]["CST"] := "01"
hIniVenda["Total"] := Hash()
hIniVenda["Total"]["vCFeLei12741"] := "137,00"
hIniVenda["DescAcrEntr"] := Hash()
hIniVenda["DescAcrEntr"]["vDescSubtot"] := "7,00"
hIniVenda["Pagto001"] := Hash()
hIniVenda["Pagto001"]["cMP"] := "01"
hIniVenda["Pagto001"]["vMP"] := "1400"
hIniVenda["DadosAdicionais"] := Hash()
hIniVenda["DadosAdicionais"]["infCpl"] := "Teste emissao CFe/SAT"
hIniVenda["ObsFisco001"] := Hash()
hIniVenda["ObsFisco001"]["xCampo"] := "ObsFisco 1"
hIniVenda["ObsFisco001"]["xTexto"] := "Teste ObsFisco 1"
strIniVenda := hb_iniWriteStr(hIniVenda)
// Venda
?"Ini Venda"
?strIniVenda
?""
?"-------------------------------------------------------------------------------------------------------------"
?""
vendaRetorno := sat:CriarEnviarCFe(strIniVenda)
?vendaRetorno
?""
?"-------------------------------------------------------------------------------------------------------------"
?""
hIni := hb_iniReadStr(vendaRetorno)
cSection := hIni["ENVIO"]
if cSection["CodigoDeRetorno"] != "6000"
?cSection["Resultado"]
else
?"Impressão Preview"
sat:ImprimirExtratoVenda(cSection["XML"], "")
?"Impressão PDF"
?sat:GerarPDFExtratoVenda(cSection["XML"], "")
end if
sat:DesInicializar()
sat:Destroy()
sat := nil
return NIL
********************************************************************************
CREATE CLASS ACBrSat
VISIBLE:
METHOD New() CONSTRUCTOR
METHOD New(eArqConfig, eChaveCrypt) CONSTRUCTOR
DESTRUCTOR Destroy
METHOD Nome
METHOD Versao
METHOD ConfigLer(eArqConfig)
METHOD ConfigGravar(eArqConfig)
METHOD ConfigLerValor(eSessao, eChave)
METHOD ConfigGravarValor(eSessao, eChave, eValor)
METHOD Inicializar
METHOD DesInicializar
METHOD AssociarAssinatura(CNPJvalue, assinaturaCNPJs)
METHOD BloquearSAT()
METHOD DesbloquearSAT()
METHOD TrocarCodigoDeAtivacao(codigoDeAtivacaoOuEmergencia, opcao, novoCodigo)
METHOD ConsultarSAT()
METHOD ConsultarStatusOperacional()
METHOD ConsultarNumeroSessao(cNumeroDeSessao)
METHOD AtualizarSoftwareSAT()
METHOD ComunicarCertificadoICPBRASIL(certificado)
METHOD ExtrairLogs(eArquivo)
METHOD TesteFimAFim(eArquivoXmlVenda)
METHOD GerarAssinaturaSAT(eCNPJSHW, eCNPJEmitente)
METHOD CriarCFe(eArquivoIni)
METHOD CriarEnviarCFe(eArquivoIni)
METHOD EnviarCFe(eArquivoXml)
METHOD CancelarCFe(eArquivoXml)
METHOD ImprimirExtratoVenda(eArqXMLVenda, eNomeImpressora)
METHOD ImprimirExtratoResumido(eArqXMLVenda, eNomeImpressora)
METHOD ImprimirExtratoCancelamento(eArqXMLVenda, eArqXMLCancelamento, eNomeImpressora)
METHOD GerarImpressaoFiscalMFe(eArqXMLVenda)
METHOD GerarPDFExtratoVenda(eArqXMLVenda, eNomeArquivo)
METHOD GerarPDFCancelamento(eArqXMLVenda, eArqXMLCancelamento, eNomeArquivo)
METHOD EnviarEmail(eArqXMLVenda, sPara, sAssunto, eNomeArquivo, sMensagem, sCC, eAnexos)
END CLASS
METHOD New(eArqConfig, eChaveCrypt) CLASS ACBrSat
local hResult, buffer, bufferLen, oErr
::hHandle := DllLoad(ACBrLIBSat)
if ::hHandle = nil
oErr := ErrorNew()
oErr:Severity := ES_ERROR
oErr:Description := "Erro a carregar a dll [" + ACBrLIBSat + "]"
Throw(oErr)
endif
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_Inicializar", hb_StrToUTF8(eArqConfig), hb_StrToUTF8(eChaveCrypt))
::CheckResult(hResult)
RETURN Self
METHOD Destroy CLASS ACBrSat
DllCall(::hHandle, DLL_OSAPI, "SAT_Finalizar")
DllUnload(::hHandle)
RETURN
METHOD CheckResult(hResult) CLASS ACBrSat
local buffer, bufferLen, oErr
if hResult >= 0
RETURN nil
endif
bufferLen := STR_LEN
buffer := Space(bufferLen)
DllCall(::hHandle, DLL_OSAPI, "SAT_UltimoRetorno", @buffer, @bufferLen)
if bufferLen > STR_LEN
buffer := Space(bufferLen)
DllCall(::hHandle, DLL_OSAPI, "SAT_UltimoRetorno", @buffer, @bufferLen)
endif
oErr := ErrorNew()
oErr:Severity := ES_ERROR
oErr:Description := hb_UTF8ToStr(buffer)
Throw(oErr)
RETURN nil
METHOD ProcessResult(buffer, bufferLen) CLASS ACBrSat
if bufferLen > STR_LEN
buffer := Space(bufferLen)
DllCall(::hHandle, DLL_OSAPI, "SAT_UltimoRetorno", @buffer, @bufferLen)
endif
RETURN buffer
METHOD Nome CLASS ACBrSat
local hResult, buffer, bufferLen, ret
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_Nome", @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD Versao CLASS ACBrSat
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_Versao", @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD ConfigLer(eArqConfig) CLASS ACBrSat
local hResult
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_ConfigLer", hb_StrToUTF8(eArqConfig))
::CheckResult(hResult)
RETURN nil
METHOD ConfigGravar(eArqConfig) CLASS ACBrSat
local hResult
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_ConfigGravar", hb_StrToUTF8(eArqConfig))
::CheckResult(hResult)
RETURN nil
METHOD ConfigLerValor(eSessao, eChave) CLASS ACBrSat
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_ConfigLerValor", hb_StrToUTF8(eSessao), hb_StrToUTF8(eChave), @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD ConfigGravarValor(eSessao, eChave, eValor) CLASS ACBrSat
local hResult
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_ConfigGravarValor", hb_StrToUTF8(eSessao), hb_StrToUTF8(eChave), hb_StrToUTF8(eValor))
::CheckResult(hResult)
RETURN nil
METHOD Inicializar CLASS ACBrSat
local hResult
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_InicializarSAT")
::CheckResult(hResult)
RETURN nil
METHOD DesInicializar CLASS ACBrSat
local hResult
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_DesInicializar")
::CheckResult(hResult)
RETURN nil
METHOD AssociarAssinatura(CNPJvalue, assinaturaCNPJs) CLASS ACBrSat
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_AssociarAssinatura", hb_StrToUTF8(CNPJvalue), hb_StrToUTF8(assinaturaCNPJs), @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD BloquearSAT() CLASS ACBrSat
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_BloquearSAT", @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD DesbloquearSAT() CLASS ACBrSat
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_DesbloquearSAT", @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD TrocarCodigoDeAtivacao(codigoDeAtivacaoOuEmergencia, opcao, novoCodigo)
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_TrocarCodigoDeAtivacao", hb_StrToUTF8(codigoDeAtivacaoOuEmergencia), opcao, hb_StrToUTF8(novoCodigo), @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD ConsultarSAT() CLASS ACBrSat
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_ConsultarSAT", @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD ConsultarStatusOperacional() CLASS ACBrSat
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_ConsultarStatusOperacional", @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD ConsultarNumeroSessao(cNumeroDeSessao) CLASS ACBrSat
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_ConsultarNumeroSessao", cNumeroDeSessao, @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD AtualizarSoftwareSAT() CLASS ACBrSat
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_AtualizarSoftwareSAT", @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD ComunicarCertificadoICPBRASIL(certificado) CLASS ACBrSat
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_ComunicarCertificadoICPBRASIL", hb_StrToUTF8(certificado), @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD ExtrairLogs(eArquivo) CLASS ACBrSat
local hResult
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_ExtrairLogs", hb_StrToUTF8(eArquivo))
::CheckResult(hResult)
RETURN nil
METHOD TesteFimAFim(eArquivoXmlVenda) CLASS ACBrSat
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_TesteFimAFim", hb_StrToUTF8(eArquivoXmlVenda), @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD GerarAssinaturaSAT(eCNPJSHW, eCNPJEmitente) CLASS ACBrSat
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_GerarAssinaturaSAT", hb_StrToUTF8(eCNPJSHW), hb_StrToUTF8(eCNPJEmitente), @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD CriarCFe(eArquivoIni) CLASS ACBrSat
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_CriarCFe", hb_StrToUTF8(eArquivoIni), @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD CriarEnviarCFe(eArquivoIni) CLASS ACBrSat
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_CriarEnviarCFe", hb_StrToUTF8(eArquivoIni), @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD EnviarCFe(eArquivoXml) CLASS ACBrSat
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_EnviarCFe", hb_StrToUTF8(eArquivoXml), @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD CancelarCFe(eArquivoXml) CLASS ACBrSat
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_CancelarCFe", hb_StrToUTF8(eArquivoXml), @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD ImprimirExtratoVenda(eArqXMLVenda, eNomeImpressora) CLASS ACBrSat
local hResult
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_ImprimirExtratoVenda", hb_StrToUTF8(eArqXMLVenda), hb_StrToUTF8(eNomeImpressora))
::CheckResult(hResult)
RETURN nil
METHOD ImprimirExtratoResumido(eArqXMLVenda, eNomeImpressora) CLASS ACBrSat
local hResult
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_ImprimirExtratoResumido", hb_StrToUTF8(eArqXMLVenda), hb_StrToUTF8(eNomeImpressora))
::CheckResult(hResult)
RETURN nil
METHOD ImprimirExtratoCancelamento(eArqXMLVenda, eArqXMLCancelamento, eNomeImpressora) CLASS ACBrSat
local hResult
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_ImprimirExtratoCancelamento", hb_StrToUTF8(eArqXMLVenda), hb_StrToUTF8(eArqXMLCancelamento), hb_StrToUTF8(eNomeImpressora))
::CheckResult(hResult)
RETURN nil
METHOD GerarImpressaoFiscalMFe(eArqXMLVenda) CLASS ACBrSat
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_GerarImpressaoFiscalMFe", hb_StrToUTF8(eArqXMLVenda), @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD GerarPDFExtratoVenda(eArqXMLVenda, eNomeArquivo) CLASS ACBrSat
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_GerarPDFExtratoVenda", hb_StrToUTF8(eArqXMLVenda), hb_StrToUTF8(eNomeArquivo), @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD GerarPDFCancelamento(eArqXMLVenda, eArqXMLCancelamento, eNomeArquivo)
local hResult, buffer, bufferLen
bufferLen := STR_LEN
buffer := Space(bufferLen)
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_GerarPDFCancelamento", hb_StrToUTF8(eArqXMLVenda), hb_StrToUTF8(eArqXMLCancelamento), hb_StrToUTF8(eNomeArquivo), @buffer, @bufferLen)
::CheckResult(hResult)
RETURN ::ProcessResult(buffer, bufferLen)
METHOD EnviarEmail(eArqXMLVenda, sPara, sAssunto, eNomeArquivo, sMensagem, sCC, eAnexos)
local hResult
hResult := DllCall(::hHandle, DLL_OSAPI, "SAT_EnviarEmail", hb_StrToUTF8(eArqXMLVenda), hb_StrToUTF8(sPara), hb_StrToUTF8(sAssunto), hb_StrToUTF8(eNomeArquivo), hb_StrToUTF8(sMensagem), hb_StrToUTF8(sCC), hb_StrToUTF8(eAnexos))
::CheckResult(hResult)
RETURN nil
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
SAT ELGIN SMART
Bom dia, Fladimir eu havia tentado essa opção com o original que me parece ser xHarbour dos exemplos do acbr e esse seu código levemente modificado me apresentou os mesmos erros:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_HB_FUN_DLLLOAD'
Error: Unresolved external '_HB_FUN_DLLCALL'
Error: Unresolved external '_HB_FUN_DLLUNLOAD'
Warning: Public symbol '_HB_FUN_ACBRSAT' defined in both module
HASA
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_HB_FUN_DLLLOAD'
Error: Unresolved external '_HB_FUN_DLLCALL'
Error: Unresolved external '_HB_FUN_DLLUNLOAD'
Warning: Public symbol '_HB_FUN_ACBRSAT' defined in both module
HASA
SAT ELGIN SMART
Boa tarde, apenas completando o HARBOUR usado é
Harbour 3.2.0dev (r1904111533)
Copyright (c) 1999-2019, https://harbour.github.io/
que vem com a Minigui Ext ok.
HASA
Harbour 3.2.0dev (r1904111533)
Copyright (c) 1999-2019, https://harbour.github.io/
que vem com a Minigui Ext ok.
HASA
SAT ELGIN SMART
Ola,
Aqui uso essa classe do acbr com varias dll e funciona 100%,
No seu .Hbp precisa da hbxpp.hbc para que funcione a funcao dllload()
Aqui uso essa classe do acbr com varias dll e funciona 100%,
No seu .Hbp precisa da hbxpp.hbc para que funcione a funcao dllload()
SAT ELGIN SMART
Bom dia, não localizei esse hbxpp.hbc, pode postar pelo conteúdo talvez me ajude ok ?
HASA
HASA
SAT ELGIN SMART
Aqui esta em \hb32\contrib\hbxpp
as funções DllLoad(), DllCall() e DllUnload() existem sim e estão na lib hbxpp (libhbxpp.a) ( Aqui pelo Itamar)
viewtopic.php?f=4&t=24140&p=141760&hilit=dllload#p141760
as funções DllLoad(), DllCall() e DllUnload() existem sim e estão na lib hbxpp (libhbxpp.a) ( Aqui pelo Itamar)
viewtopic.php?f=4&t=24140&p=141760&hilit=dllload#p141760
SAT ELGIN SMART
Acho que entendi, vcs estão falando da HMG ( Roberto Lopez ) e eu da MINIGUI Ext ( Do Grigory Filatov ), por isso não tem no pacote que uso.
HASA
HASA
SAT ELGIN SMART
Boa tarde, lendo o post sugerido mudei para funções hb_libLoad(), hb_DynCall() e hb_LibFree(), e o erro agora é outro, verificando, mas já é um avanço, obrigado.
HASA
HASA
SAT ELGIN SMART
Boa tarde, pessoal não deu mesmo, fiz N combinações e a DLL não é carregada, depois dos ajustes não deu erro de chamada de função inexistente mas o retorno sempre é vazio e parece que deveria ser um NUMERO, obrigado a todos pela atenção.
HASA
HASA

