Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 4241 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

Depois do costume de utilizar o componente do ACBr, estou com dificuldade de utilizar via DLL.

 

Estou em um projeto em Delphi 5 e preciso utilizar a dll ACBrECFDLL.dll, estou começando com o demo que já existe no trunk (trunk\Exemplos\ACBrDLL\Delphi) mas faltam algumas declarações da DLL.

 

Por exemplo, para retornar o número de série da ECF declarei em UnitDeclaracao.pas:

Function NumECF(Serie: String = ''): Integer; stdcall; External 'ACBrECFDLL.dll';
 

 

E em Principal.pas uso:

   Retorno := NumECF(Serie);
   Label2.Caption := Serie;

 

Seria isso?

Editado por lvr
  • Fundadores
Postado

Não faz muito sentido usar o ACBrFrameWork em Delphi... acredito que você achará pouca ajuda sobre isso...

 

Infelizmente só suportamos Delphi 7 e superiores... Por que não migrar para uma IDE mais nova ?  Já tentou o Lazarus / FPC ??

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Postado

Obrigado pela luz Daniel, mas neste momento não tem possibilidade de migrar a IDE. Existem decisões que não depende só de mim, mas as pessoas querem resultado de um jeito ou de outro. Por isso minha insistência em utilizar Delphi 5 com o ACBr em DLL.

 

Na verdade, o exemplo com ACBrECFDLL.dll funciona bem com as funções já declaradas, minha dúvida seria somente na declaração e utilização das outras funções, como por exemplo o retorno do número do cupom fiscal ou o número da série da Ecf.

 

Se eu conseguir dar andamento neste projeto, prometo disponibilizar o que eu fizer. Com isso ajudará as 2 ou 3 empresas que ainda utilizam Delphi 5 no mundo :-)

  • Moderadores
Postado

Seria interessante você sentar e colocar para as pessoas que são seus superiores

que se perderia um tempo migrando mas que estaria realizando melhorias significativas 

tanto em questão de compilação da aplicação como desenvolvimento e até mesmo

migrar para algo mais atual que será muito mais viável e com ótimos recursos

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado (editado)

Estou tentando compilar os pacotes no Delphi 5. Incluí em ACBrD5.pas algumas funções que encontrei do Delphi 7 e em algumas units do ACBr tive que declarar ACBrD5 e alguns outros ajustes menores para compatibilização.

 

Gostaria de entender quais os passos exatos que preciso fazer: primeiro compilo e instalo o pacote ACBr_D5.dpk ? E depois compilo e instalo o ACBrSerial.dpk ?

Editado por lvr
Postado (editado)

Compilei o synapse.dpk sem erros, compilei o ACBrD5.dpk sem erros e ao instalar o ACBrD5 aconteceu o erro:

"O programa não pode ser instalado porque está faltando libcrypto.dll no seu computador".

 

Inclui esta dll no system32 originada do projeto msysgit e apareceu outro erro: "libcrypto.dll não foi criado para ser executado no Windows ou contén erro. Tente instalar novamente...".

 

O que poderia ser?

Editado por lvr
  • Consultores
Postado

Não faço uso desta parte do projeto, mas pelo erro retornado, a dll mencionada (libcrypto.dll) pode estar corrompida. Tente uma outra versão dela.

[]'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.
Postado (editado)

Comentei algumas linhas que se referiam a esta dll em libeay32.pas e OpenSSL.pas e passou.

Compilou e instalou o pacote, porém somente os componentes ACBrEAD e ACBrAAC, não teria que instalar todos os componentes?

 

Depois disso tento instalar o ACBrSerial e aparece o erro: "Cannot load package ACBrSerial. It contains unit ACBrExtenso, which is also contained in package ACBr_D5". O que eu posso fazer para arrumar isso?

 

 

Meu pacote  ACBr_D5 ficou assim:

package ACBr_D5;

{$R *.RES}
{$ALIGN ON}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DESCRIPTION 'ACBr Automação Comercial Brasil VCL D5 (http://acbr.sourceforge.net/)'}
{$IMPLICITBUILD ON}

requires
  Vcl50,
  Vclx50,
  RxCtl5;

contains
  ACBrReg in '..\..\Fontes\ACBrComum\ACBrReg.pas',
  ACBrBase in '..\..\Fontes\ACBrComum\ACBrBase.pas',
  ACBrConsts in '..\..\Fontes\ACBrComum\ACBrConsts.pas',
  ACBrCalculadora in '..\..\Fontes\ACBrDiversos\ACBrCalculadora.pas',
  ACBrCHQ in '..\..\Fontes\ACBrSerial\ACBrCHQ.pas',
  ACBrCHQBematech in '..\..\Fontes\ACBrSerial\ACBrCHQBematech.pas',
  ACBrCHQChronos in '..\..\Fontes\ACBrSerial\ACBrCHQChronos.pas',
  ACBrCHQClass in '..\..\Fontes\ACBrSerial\ACBrCHQClass.pas',
  ACBrCHQImpressoraComum in '..\..\Fontes\ACBrSerial\ACBrCHQImpressoraComum.pas',
  ACBrCHQImpressoraECF in '..\..\Fontes\ACBrSerial\ACBrCHQImpressoraECF.pas',
  ACBrCHQPerto in '..\..\Fontes\ACBrSerial\ACBrCHQPerto.pas',
  ACBrCHQSchalter in '..\..\Fontes\ACBrSerial\ACBrCHQSchalter.pas',
  ACBrDIS in '..\..\Fontes\ACBrSerial\ACBrDIS.pas',
  ACBrDISClass in '..\..\Fontes\ACBrSerial\ACBrDISClass.pas',
  ACBrDISGertecSerial in '..\..\Fontes\ACBrSerial\ACBrDISGertecSerial.pas',
  ACBrDISGertecTeclado in '..\..\Fontes\ACBrSerial\ACBrDISGertecTeclado.pas',
  ACBrECF in '..\..\Fontes\ACBrSerial\ACBrECF.pas',
  ACBrECFBematech in '..\..\Fontes\ACBrSerial\ACBrECFBematech.pas',
  ACBrECFClass in '..\..\Fontes\ACBrSerial\ACBrECFClass.pas',
  ACBrECFDaruma in '..\..\Fontes\ACBrSerial\ACBrECFDaruma.pas',
  ACBrECFMecaf in '..\..\Fontes\ACBrSerial\ACBrECFMecaf.pas',
  ACBrECFNaoFiscal in '..\..\Fontes\ACBrSerial\ACBrECFNaoFiscal.pas',
  ACBrECFSchalter in '..\..\Fontes\ACBrSerial\ACBrECFSchalter.pas',
  ACBrECFSweda in '..\..\Fontes\ACBrSerial\ACBrECFSweda.pas',
  ACBrECFSwedaSTX in '..\..\Fontes\ACBrSerial\ACBrECFSwedaSTX.pas',
  ACBrECFYanco in '..\..\Fontes\ACBrSerial\ACBrECFYanco.pas',
  ACBrECFICash in '..\..\Fontes\ACBrSerial\ACBrECFICash.pas',
  ACBrECFEpson in '..\..\Fontes\ACBrSerial\ACBrECFEpson.pas',
  ACBrExtenso in '..\..\Fontes\ACBrDiversos\ACBrExtenso.pas',
  ACBrRFD in '..\..\Fontes\ACBrSerial\ACBrRFD.pas',
  ACBrGAV in '..\..\Fontes\ACBrSerial\ACBrGAV.pas',
  ACBrGAVClass in '..\..\Fontes\ACBrSerial\ACBrGAVClass.pas',
  ACBrGAVImpressoraComum in '..\..\Fontes\ACBrSerial\ACBrGAVImpressoraComum.pas',
  ACBrGAVImpressoraECF in '..\..\Fontes\ACBrSerial\ACBrGAVImpressoraECF.pas',
  ACBrGAVSerialGerbo in '..\..\Fontes\ACBrSerial\ACBrGAVSerialGerbo.pas',
  ACBrGAVSerialMenno in '..\..\Fontes\ACBrSerial\ACBrGAVSerialMenno.pas',
  ACBrLCB in '..\..\Fontes\ACBrSerial\ACBrLCB.pas',
  ACBrValidador in '..\..\Fontes\ACBrDiversos\ACBrValidador.pas',
  ACBrCHQSotomaq in '..\..\Fontes\ACBrSerial\ACBrCHQSotomaq.pas',
  ACBrECFDataRegis in '..\..\Fontes\ACBrSerial\ACBrECFDataRegis.pas',
  ACBrD5 in '..\..\Fontes\ACBrDiversos\ACBrD5.pas',
  ACBrBALToledo in '..\..\Fontes\ACBrSerial\ACBrBALToledo.pas',
  ACBrBAL in '..\..\Fontes\ACBrSerial\ACBrBAL.pas',
  ACBrBALClass in '..\..\Fontes\ACBrSerial\ACBrBALClass.pas',
  ACBrBALFilizola in '..\..\Fontes\ACBrSerial\ACBrBALFilizola.pas',
  ACBrTroco in '..\..\Fontes\ACBrDiversos\ACBrTroco.pas',
  ACBrECFUrano in '..\..\Fontes\ACBrSerial\ACBrECFUrano.pas',
  ACBrECFFiscNET in '..\..\Fontes\ACBrSerial\ACBrECFFiscNET.pas',
  ACBrTERWilbor in '..\..\Fontes\ACBrSerial\ACBrTERWilbor.pas',
  ACBrTER in '..\..\Fontes\ACBrSerial\ACBrTER.pas',
  ACBrTERClass in '..\..\Fontes\ACBrSerial\ACBrTERClass.pas',
  ACBrFala in '..\..\Fontes\ACBrDiversos\ACBrFala.pas',
  ACBrECFQuattro in '..\..\Fontes\ACBrSerial\ACBrECFQuattro.pas',
  ACBrDISKeytecTeclado in '..\..\Fontes\ACBrSerial\ACBrDISKeytecTeclado.pas',
  ACBrCHQUrano in '..\..\Fontes\ACBrSerial\ACBrCHQUrano.pas',
  ACBrETQ in '..\..\Fontes\ACBrSerial\ACBrETQ.pas',
  ACBrETQClass in '..\..\Fontes\ACBrSerial\ACBrETQClass.pas',
  ACBrETQPpla in '..\..\Fontes\ACBrSerial\ACBrETQPpla.pas',
  ACBrETQZplII in '..\..\Fontes\ACBrSerial\ACBrETQZplII.pas',
  ACBrECFNCR in '..\..\Fontes\ACBrSerial\ACBrECFNCR.pas',
  ACBrDevice in '..\..\Fontes\ACBrSerial\ACBrDevice.pas',
  ACBrBarCode in '..\..\Fontes\ACBrDiversos\ACBrBarCode.pas',
  ACBrBALDigitron in '..\..\Fontes\ACBrSerial\ACBrBALDigitron.pas',
  ACBrBALLucasTec in '..\..\Fontes\ACBrSerial\ACBrBALLucasTec.pas',
  ACBrBALMagellan in '..\..\Fontes\ACBrSerial\ACBrBALMagellan.pas',
  ACBrBALMagna in '..\..\Fontes\ACBrSerial\ACBrBALMagna.pas',
  ACBrBALToledo2180 in '..\..\Fontes\ACBrSerial\ACBrBALToledo2180.pas',
  ACBrBALUrano in '..\..\Fontes\ACBrSerial\ACBrBALUrano.pas',
  ACBrDISSmakTeclado in '..\..\Fontes\ACBrSerial\ACBrDISSmakTeclado.pas',
  ACBrECFEscECF in '..\..\Fontes\ACBrSerial\ACBrECFEscECF.pas',
  ACBrETQEpl2 in '..\..\Fontes\ACBrSerial\ACBrETQEpl2.pas',
  ACBrUtil in '..\..\Fontes\ACBrComum\ACBrUtil.pas',
  libeay32 in '..\..\Fontes\ACBrComum\libeay32.pas';

end.

 
Editado por lvr
  • Fundadores
Postado

As dependências dos pacotes parecem estar erradas... Ou você fez alguma alteração indevida...

 

Em todo caso... seria necessária uma IDE de Delphi 5 para instalar e testar, algo quem nem a Embarcadero disponibiliza mais para nós do ACBr...

 

Continuar com D5 será uma dor de cabeça constante... quase nenhum componente ou biblioteca dá suporte a ele atualmente...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Postado (editado)

Pra dizer que não tentei...

 

 

 

O teste que fiz é no exemplo ECFTeste. Muitos comandos funcionam perfeitamente porém ao vender item as vezes acontece erro de violação de acesso as vezes não acontece:

 

Um comando válido, que imprimiu o item foi:

 

 

 

#2'^'#0#$1C'?NN00000100000010000000000000000000000001000000000000000000000UN111222333'#0'TESTE DE PRODUTO'#0'ê'#$12

 

mas nem sempre é o mesmo comando nos próximos itens que se envia para impressora.

Editado por lvr
  • Este tópico foi criado há 4241 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.