Ir para conteúdo
  • Cadastre-se

dev botao

Erro na TACBrECFBematech.ArquivoMFD_DLL


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

Recommended Posts

O Erro ocorre ao pegar o endereço do ClicheSL[1] que está vaizio , no clicheSL[0] e retornado todo o Cliche, acredito que não esteja quebrando as linas no vetor.

  { Obtendo Dados do Usuário }

  ClicheSL  := TStringList.Create ;

  cRazao    := '' ;

  cEndereco := '' ;

  try

     try

        ClicheSL.Text := Cliche ;

        cRazao        := ClicheSL[0] ;  

        cEndereco     := ClicheSL[1] ;  // O erro ocorre aqui. 

     except

     end ;

  finally

     ClicheSL.Free ;

  end ;

post-802-13548987308947.jpg

Link para o comentário
Compartilhar em outros sites

A variável Cliche é de qual tipo?

Tem certeza que ele possui mais de uma linha?

Existe uma quebra entre o texto? Por Exemplo: "#13#10"?

Tenta fazer assim:


  ClicheSL  := TStringList.Create ;

  cRazao    := '' ;

  cEndereco := '' ;

  try

     try

        ClicheSL.AddStrings(TStringList(Cliche));

        cRazao        := ClicheSL.Strings[0] ;  

        cEndereco     := ClicheSL.Strings[1] ;

     except

     end ;

  finally

     ClicheSL.Free ;

  end ;

o TStringList transforma o "Cliche" em uma lista com as quebras e o "AddStrings" adiciona ele à outra StringList;

Não tenho como testar agora, se não der certo assim, faço alguns testes depois!

[Edit] Não sei se o "AddStrings(TStringList(Cliche))" vai funcionar como o esperado, o ".Text := " também faz a quebra, de um Count na StringList para saber quantas linhas tem a Lista, e ter certeza que está havendo quebra!

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Pode ser que a empresa de lacração não tenha feito um "bom serviço" e não tenha inserido a quebra de linha no Cliche....

Acho que podemos fazer essa atribuição num Try/Except... mas nesse caso a variável cEndereco sempre ficaria vazia

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.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Na verdade, a melhor coisa mesmo me parece que seria substituir as funções atuais (Bematech_FI_DownloadMFD e BemaGeraRegistrosTipoE) pela outra função da Bematech (a saber Bematech_FI_ArquivoMFD)...

Reduziria o código e os possíveis erros incluindo esse daí. Também resolveria o problema de gerar o arquivo do tipo MF.

[]'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

Bom dia Augusto,

A variável Cliche é de qual tipo?

Property Cliche : String read GetCliche ; //IMS 28/09/2009

Tem certeza que ele possui mais de uma linha?

Só tem uma linha com todos os dados da empresa.

Existe uma quebra entre o texto? Por Exemplo: "#13#10"?

Não existe quebra de linha

o TStringList transforma o "Cliche" em uma lista com as quebras e o "AddStrings" adiciona ele à outra StringList;

Não funcionou da violação de acesso ao tentar converter.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4830 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...