Ir para conteúdo
  • Cadastre-se

Paulo Alexandre Hostert

Membros Pro
  • Total de ítens

    267
  • Registro em

  • Última visita

Tudo que Paulo Alexandre Hostert postou

  1. Daniel, Vi que os anexo estão sendo excluídos no procedimento clear abaixo. Precisamos dessa chamada aqui? procedure TACBrMail.SmtpError(const pMsgError: string); begin Clear; <== fGetLastSmtpError := pMsgError; MailProcess(pmsError); DoException( Exception.Create(pMsgError) ); end;
  2. Daniel, Ficou ótimo! Muito Obrigado! Só mais uma duvida: Utilizo no evento OnAfterMailProcess e OnMailException, uma procedure com o código abaixo para garantir que os anexos sejam excluídos. (Senão os PDFs vão se acumulando na pasta). O problema é nesse ponto a lista de anexos(Attachments) está vazia, sabes por que? for I := 0 to Length(TACBrMail(Sender).Attachments)-1 do begin if FileExists(TACBrMail(Sender).Attachments.FileName) then DeleteFile(TACBrMail(Sender).Attachments.FileName); end;
  3. Retirei, a dependencia "Forms" e implementei o evento ACBrMailException. Segue a unit. ACBrMail.pas
  4. Daniel, Já estou utilizando o metodo ACBrNFe1.EnviarEmailEvento() para o envio.
  5. Concordo Daniel, Porem não encontrei nenhuma forma de exibir o erro quando ocorre alguma exceção. Tem alguma forma de tratar isso sem alterar a ACBrMail?
  6. Acabei de descobrir. Faltou informar no número do Lote, antes não precisava. Obrigado!
  7. Após a atualização para os fontes do trunk2, estou recebendo esse erro no retorno do CT-e: Código: 225 Motivo: Rejeição: Falha no Schema XML do CT-e. A unica coisa que percebi que mudou no código, foi que a propriedade AcbrCTE.Conhecimentos.Items[0].XML retorna vazio, e passei a utilizar a AcbrCTEObj.Conhecimentos.Items[0].XMLAssinado (Na NF-e aconteceu a mesma coisa, mais não deu nenhum erro). Analisei o XML mais não consigo encontrar o erro. Alguém teve esse problema? XML.xml
  8. Daniel, Resolvi o problema fazendo alguns ajustes na unit acbrmail, na thread para tratamento do erro: Podemos ajustar isso no padrão? { TACBrThread } constructor TACBrThread.Create(AOwner: TComponent); begin FreeOnTerminate := True; fOwner := AOwner; inherited Create(False); end; procedure TACBrThread.DoHandleException; begin Application.ShowException(FException); end; procedure TACBrThread.Execute; begin try if (not terminated) then TACBrMail(FOwner).SendMail; except HandleException; end; end; procedure TACBrThread.HandleException; begin FException := Exception(ExceptObject); try Synchronize(DoHandleException); finally FException := nil; end; end;
  9. Daniel, Ainda sobre o uso da thread, quando ocorre algum erro no envio, como como algum erro nas informações de SMTP, a segunda vez que faço o envio do e-mail, no mesmo objeto acbrmail ocorre a seguinte mensagem: Cannot terminate an externally created thread. Sabe o que é?
  10. Sim, o ACBrMail é criado em tempo de execução. Vou criar o projeto para tentar reproduzir o problema... Daniel, acabei de identificar o problema. Comentei a parte onde destruo o componente ACBrMail funcionou. (Durante a execução da thread deve fazer alguma referencia..) Agora vou ter que avaliar para ajustar isso, já que também estou criando em runtime. Obrigado!
  11. No demo deu certo, é só na minha aplicação que ocorre o problema. Mesmo copiando o código que funciona no demo, quando executo pela minha aplicação da erro. Tem alguma ideia?
  12. Daniel, Após acompanhar depurar o código vi que quando tem o PDF junto, no procedimento abaiixo fica travado: function TMimeMess.AddPartHTMLBinaryFromFile(const FileName, Cid: string; const PartParent: TMimePart): TMimepart; var tmp: TMemoryStream; begin tmp := TMemoryStream.Create; try tmp.LoadFromFile(FileName); <== AQUI SIMPLESMENTE TRAVA Result :=AddPartHTMLBinary(tmp, ExtractFileName(FileName), Cid, PartParent); finally tmp.Free; end; end; Se tento enviar somente o XML ocorre o erro: raised exception class $C0000005 with message 'access violation at 0x00000000: read of address 0x00000000'. Nesse procedimento: for vAttempts := 1 to fAttempts do begin if fSMTP.Login then <== AQUI Break; if vAttempts >= fAttempts then SmtpError('SMTP Error: Unable to Login.'); end; O fato é que deixando a opção de uso da thread como false funciona. (Antes de atualizar para o trunk2 funcionava certinho com o uso da thread).
  13. Boa tarde, Alguém conseguiu fazer o envio do e-mail utilizando a thread? Quando passo o usothread := True, ocorre erro no procedimento abaixo: Function TMimeMess.AddPartHTMLBinary(const Stream: TStream; const FileName, Cid: string; const PartParent: TMimePart): TMimepart; begin Result := AddPart(PartParent); Result.DecodedLines.LoadFromStream(Stream); Result.MimeTypeFromExt(FileName); Result.Description := 'Included file: ' + FileName; Result.Disposition := 'inline'; Result.ContentID := Cid; Result.FileName := FileName; Result.EncodingCode := ME_BASE64; Result.EncodePart; <== O ERRO OCORRE AQUI Result.EncodePartHeader; end;
×
×
  • 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.