vinhesoft Posted October 3, 2014 Report Share Posted October 3, 2014 Bom Dia ACBrFramework32.DLL alguém usa tudo que ela tem ? NFE,ECF,SPED,SINTEGRA,TEF,etc ? Att Joao Carlos VinheSoft Quote Link to comment Share on other sites More sharing options...
Eroni Posted October 3, 2014 Report Share Posted October 3, 2014 Bom dia, eu uso apenas os SPEDs. Abraço. Quote Link to comment Share on other sites More sharing options...
Ariston Santos Posted October 3, 2014 Report Share Posted October 3, 2014 Olá, Eroni. Dá para disponibilizar seus exemplos do usa dessa DLL? E a também, sem querer abusar. Consegui ativar o ECF (Emulador) mas a Leitura X não vai. Alguém pode dar uma ajudinha aí? *--------------------( ECF via ACBrFramework32.dll )---------------------------* FUNCTION TestACBrFrwrk() aModelo := ; {; "01. NaoFiscal",; "02. Bematech",; "03. Sweda",; "04. Daruma",; "05. Schalter",; "06. Mecaf",; "07. Yanco",; "08. DataRegis",; "09. Urano",; "10. ICash",; "11. Quattro",; "12. FiscNET",; "13. Epson",; "14. NCR",; "15. SwedaSTX"; } cModelo := MsgSelect(aModelo, "02. Bematech", "Selecione o modelo", "&Ok", "Cancelar") cPorta := "COM4" IF ! MsgGet("Porta","Porta",@cPorta) RETURN NIL ENDIF xdll := LoadLibrary("ACBrFramework32.dll") nHandle := 0 ? "Cria o Handle do ECF" ret := ECFCreate(@nHandle) CheckResult(ret, nHandle) ? "Informa o modelo do ecf" nModelo := ALLTRIM(STR(VAL(LEFT(cModelo, 2)))) ret := ECFSetModelo(nHandle, nModelo) CheckResult(ret, nHandle) ? "Obtem o modelo configurado" buffer := ECFGetModelo(nHandle) SysRefresh() MsgAlert("Modelo: "+cValToChar(buffer)) ? "Define a porta de comunicação" ret := ECFSetPorta(nHandle, cPorta) CheckResult(ret, nHandle) ? "Obtem a porta de comunicação definida" buff := SPACE(100) ret = ECFGetPorta(nHandle, @buff, 100) CheckResult(ret, nHandle) ? "Verivicar se ECF está ativo" ret := ECFGetAtivo(nHandle) CheckResult(ret, nHandle) ? "Avtivar o ECF" ECFAtivar(nHandle) ? "Verivicar se ECF está ativo" ret := ECFGetAtivo(nHandle) CheckResult(ret, nHandle) ? "Emitir leitura X" ret := ECFLeituraX(nHandle) CheckResult(ret, nHandle) ? "Desativar o ECF" ret := ECFDestroy(@nHandle) CheckResult(ret, nHandle) FreeLib32(xdll) RETURN NIL STATIC FUNCTION CheckResult(ret, nHandle) LOCAL buff := SPACE(100) * ECFGetUltErro(nHandle, @buff, 100) SysRefresh() MsgInfo("Retorno: "+cValToChar(ret), "Aviso") RETURN NIL xdll:=LoadLibrary("ACBrFramework32.dll") DLL32 FUNCTION ECFCreate( @nHandle AS PTR ) AS 7 PASCAL FROM "ECF_Create" LIB xdll DLL32 FUNCTION ECFGetUltErro( ecfHandle AS PTR, @buffer AS 8, bufferLen AS STRING ) AS LONG PASCAL FROM "ECF_GetUltimoErro" LIB xdll DLL32 FUNCTION ECFSetModelo( nHandle AS PTR, cModelo AS STRING ) AS LONG PASCAL FROM "ECF_SetModelo" LIB xdll DLL32 FUNCTION ECFGetModelo( nHandle AS PTR ) AS LONG PASCAL FROM "ECF_GetModelo" LIB xdll DLL32 FUNCTION ECFGetModStr( nHandle AS PTR, @buffer AS STRING, bufferLen AS STRING ) AS LONG PASCAL FROM "ECF_GetModeloStr" LIB xdll DLL32 FUNCTION ECFSetPorta( nHandle AS PTR, porta AS STRING ) AS LONG PASCAL FROM "ECF_SetPorta" LIB xdll DLL32 FUNCTION ECFGetPorta( nHandle AS PTR, @buffer AS STRING, bufferLen AS STRING ) AS LONG PASCAL FROM "ECF_GetPorta" LIB xdll DLL32 FUNCTION ECFGetAtivo( nHandle AS PTR ) AS LONG PASCAL FROM "ECF_GetAtivo" LIB xdll DLL32 FUNCTION ECFAtivar( nHandle AS PTR ) AS LONG PASCAL FROM "ECF_Ativar" LIB xdll DLL32 FUNCTION ECFLeituraX( nHandle AS PTR ) AS 7 PASCAL FROM "ECF_LeituraX" LIB xdll DLL32 FUNCTION ECFDestroy( @nHandle AS PTR ) AS 7 PASCAL FROM "ECF_Destroy" LIB xdll freelibrary(xdll) *----------------------( Função MsgSelect )-----------------------------------* function MsgSelect( aItems, cValue, cTitle, cTitBt1, cTitBt2 ) LOCAL oDlg, lOk, cDescr, nScan DEFAULT cTitle := "Selecione" DEFAULT cTitBt1 := "&Ok" DEFAULT cTitBt2 := "Ca&ncelar" DEFAULT cValue := aItems[1] nScan := 1 cDescr := SPACE(40) lOk := .F. aItems := ASORT(aItems) DEFINE DIALOG oDlg FROM 5,10 TO 27, 54 TITLE cTitle @ 01,02 GET cDescr SIZE 145,10 OF oDlg ; ON CHANGE ( ::Assign() ,; cGet := SubStr( cDescr, 1, ::nPos - 1 ) ,; AEVAL(aItems ,{|cData,nItem| IIF( LEFT(cData,LEN(cGet)) = cGet, nScan:=nItem, nScan:=nScan)}),; oList:Select(nScan) ) @ 02,02 LISTBOX oList VAR cValue ITEMS aItems SIZE 145, 100 OF oDlg @ 08,07 BUTTON cTitBt1 OF oDlg SIZE 40, 12 ACTION (lOk := .T., oDlg:End()) DEFAULT @ 08,16 BUTTON cTitBt2 OF oDlg SIZE 40, 12 ACTION (lOk := .F., oDlg:End()) CANCEL ACTIVATE DIALOG oDlg CENTERED RETURN cValue Quote Link to comment Share on other sites More sharing options...
rochinha Posted October 11, 2014 Report Share Posted October 11, 2014 Amiguinho, Se for usar esta .DLL fique atento para as atualizações e teste sempre antes de mandar para o seu cliente a nova .DLL. Eu estou usando em meu sistema a versão 2012 da ACBr32.dll, porque todas as Frameworks32 que peguei, tive problemas, uma hora retorna .T. e .F. ou tra hora retorna 0,-1,-2 para a mesma função, depois já não é mais ECF_blablabla e sim DEV_blablabla e depois não é mais Stdcall e sim cdel. Estou testando está http://download2.polytechnic.edu.na/pub4/sourceforge/a/project/ac/acbrframework/ que tem a mesma data da que está no SourceForge. Meus cabelos não estão caindo, mas o cérebro tá fritando. A Framework32.Net.dll deve ser registrada e portanto pode ser possível o acesso via activex ou OLE. mesmo sendo feita em C# ou sei lá o que. A Framework32.dll já é diferente quanto ao acesso. O melhor caminho é implib nela para obter a biblioteca de vínculo no padrão OMF mais entendido por quem usa Borland. Bom trabalho. Quote Link to comment Share on other sites More sharing options...
Eroni Posted October 20, 2014 Report Share Posted October 20, 2014 Olá, Eroni. Dá para disponibilizar seus exemplos do usa dessa DLL? E a também, sem querer abusar. Consegui ativar o ECF (Emulador) mas a Leitura X não vai. Alguém pode dar uma ajudinha aí? *--------------------( ECF via ACBrFramework32.dll )---------------------------* FUNCTION TestACBrFrwrk() aModelo := ; {; "01. NaoFiscal",; "02. Bematech",; "03. Sweda",; "04. Daruma",; "05. Schalter",; "06. Mecaf",; "07. Yanco",; "08. DataRegis",; "09. Urano",; "10. ICash",; "11. Quattro",; "12. FiscNET",; "13. Epson",; "14. NCR",; "15. SwedaSTX"; } cModelo := MsgSelect(aModelo, "02. Bematech", "Selecione o modelo", "&Ok", "Cancelar") cPorta := "COM4" IF ! MsgGet("Porta","Porta",@cPorta) RETURN NIL ENDIF xdll := LoadLibrary("ACBrFramework32.dll") nHandle := 0 ? "Cria o Handle do ECF" ret := ECFCreate(@nHandle) CheckResult(ret, nHandle) ? "Informa o modelo do ecf" nModelo := ALLTRIM(STR(VAL(LEFT(cModelo, 2)))) ret := ECFSetModelo(nHandle, nModelo) CheckResult(ret, nHandle) ? "Obtem o modelo configurado" buffer := ECFGetModelo(nHandle) SysRefresh() MsgAlert("Modelo: "+cValToChar(buffer)) ? "Define a porta de comunicação" ret := ECFSetPorta(nHandle, cPorta) CheckResult(ret, nHandle) ? "Obtem a porta de comunicação definida" buff := SPACE(100) ret = ECFGetPorta(nHandle, @buff, 100) CheckResult(ret, nHandle) ? "Verivicar se ECF está ativo" ret := ECFGetAtivo(nHandle) CheckResult(ret, nHandle) ? "Avtivar o ECF" ECFAtivar(nHandle) ? "Verivicar se ECF está ativo" ret := ECFGetAtivo(nHandle) CheckResult(ret, nHandle) ? "Emitir leitura X" ret := ECFLeituraX(nHandle) CheckResult(ret, nHandle) ? "Desativar o ECF" ret := ECFDestroy(@nHandle) CheckResult(ret, nHandle) FreeLib32(xdll) RETURN NIL STATIC FUNCTION CheckResult(ret, nHandle) LOCAL buff := SPACE(100) * ECFGetUltErro(nHandle, @buff, 100) SysRefresh() MsgInfo("Retorno: "+cValToChar(ret), "Aviso") RETURN NIL xdll:=LoadLibrary("ACBrFramework32.dll") DLL32 FUNCTION ECFCreate( @nHandle AS PTR ) AS 7 PASCAL FROM "ECF_Create" LIB xdll DLL32 FUNCTION ECFGetUltErro( ecfHandle AS PTR, @buffer AS 8, bufferLen AS STRING ) AS LONG PASCAL FROM "ECF_GetUltimoErro" LIB xdll DLL32 FUNCTION ECFSetModelo( nHandle AS PTR, cModelo AS STRING ) AS LONG PASCAL FROM "ECF_SetModelo" LIB xdll DLL32 FUNCTION ECFGetModelo( nHandle AS PTR ) AS LONG PASCAL FROM "ECF_GetModelo" LIB xdll DLL32 FUNCTION ECFGetModStr( nHandle AS PTR, @buffer AS STRING, bufferLen AS STRING ) AS LONG PASCAL FROM "ECF_GetModeloStr" LIB xdll DLL32 FUNCTION ECFSetPorta( nHandle AS PTR, porta AS STRING ) AS LONG PASCAL FROM "ECF_SetPorta" LIB xdll DLL32 FUNCTION ECFGetPorta( nHandle AS PTR, @buffer AS STRING, bufferLen AS STRING ) AS LONG PASCAL FROM "ECF_GetPorta" LIB xdll DLL32 FUNCTION ECFGetAtivo( nHandle AS PTR ) AS LONG PASCAL FROM "ECF_GetAtivo" LIB xdll DLL32 FUNCTION ECFAtivar( nHandle AS PTR ) AS LONG PASCAL FROM "ECF_Ativar" LIB xdll DLL32 FUNCTION ECFLeituraX( nHandle AS PTR ) AS 7 PASCAL FROM "ECF_LeituraX" LIB xdll DLL32 FUNCTION ECFDestroy( @nHandle AS PTR ) AS 7 PASCAL FROM "ECF_Destroy" LIB xdll freelibrary(xdll) *----------------------( Função MsgSelect )-----------------------------------* function MsgSelect( aItems, cValue, cTitle, cTitBt1, cTitBt2 ) LOCAL oDlg, lOk, cDescr, nScan DEFAULT cTitle := "Selecione" DEFAULT cTitBt1 := "&Ok" DEFAULT cTitBt2 := "Ca&ncelar" DEFAULT cValue := aItems[1] nScan := 1 cDescr := SPACE(40) lOk := .F. aItems := ASORT(aItems) DEFINE DIALOG oDlg FROM 5,10 TO 27, 54 TITLE cTitle @ 01,02 GET cDescr SIZE 145,10 OF oDlg ; ON CHANGE ( ::Assign() ,; cGet := SubStr( cDescr, 1, ::nPos - 1 ) ,; AEVAL(aItems ,{|cData,nItem| IIF( LEFT(cData,LEN(cGet)) = cGet, nScan:=nItem, nScan:=nScan)}),; oList:Select(nScan) ) @ 02,02 LISTBOX oList VAR cValue ITEMS aItems SIZE 145, 100 OF oDlg @ 08,07 BUTTON cTitBt1 OF oDlg SIZE 40, 12 ACTION (lOk := .T., oDlg:End()) DEFAULT @ 08,16 BUTTON cTitBt2 OF oDlg SIZE 40, 12 ACTION (lOk := .F., oDlg:End()) CANCEL ACTIVATE DIALOG oDlg CENTERED RETURN cValue Boa tarde, posso disponibilizar um exemplo, me adicione no skype. 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.