Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado (editado)

Olá a todos, estou fazendo uma alteração no sistema, para deixar uma thread rodando verificando se o RPS foi processado no servidor do GINFES.

Nessa thread, estou criando os componentes das classes TACBrNFSe e TACBrNFSeDANFSeQR, para cada thread ter seu proprio componente e não ocorrer confllitos em caso de muitos RPS para envio.

 

No momento que passo o comando "FNFSe.Enviar(fNumeroLote, False)" ocorre o erro "CoInitialize não foi chamado, ClassID: {91D221C4-0CD4-461C-A728-01D509321556}"

 

Verificando no fórum foi indicado o uso do código "CoInitialize(nil);" que resolveria o problema. Tentei colocar esse código no create da thread, do form que se encontra a thread, no DataModule do sistema, enfim, em vários locais, mas o problema só foi resolvido colocando esse trecho dentro da unit ACBrNFSeConfiguracoes.pas, na linha 535, dentro da function TCertificadosConf.GetCertificado: ICertificate2;, antes do Result := nil; que tem logo no inicio da function e o sistema funcionou normalmente.

 

Teria como ser modificado isso dentro dos fontes do ACBr, para caso mais alguém tenha essa necessidade de criar um sistema em threads para essa verificação do processamento, já que os servidores do GINFES estão problemáticos ultimamente com lentidão constante.

 

 

Desde já muito obrigado a todos.

Editado por russocorp
  • Moderadores
Postado

Olá a todos, estou fazendo uma alteração no sistema, para deixar uma thread rodando verificando se o RPS foi processado no servidor do GINFES.

Nessa thread, estou criando os componentes das classes TACBrNFSe e TACBrNFSeDANFSeQR, para cada thread ter seu proprio componente e não ocorrer confllitos em caso de muitos RPS para envio.

 

No momento que passo o comando "FNFSe.Enviar(fNumeroLote, False)" ocorre o erro "CoInitialize não foi chamado, ClassID: {91D221C4-0CD4-461C-A728-01D509321556}"

 

Verificando no fórum foi indicado o uso do código "CoInitialize(nil);" que resolveria o problema. Tentei colocar esse código no create da thread, do form que se encontra a thread, no DataModule do sistema, enfim, em vários locais, mas o problema só foi resolvido colocando esse trecho dentro da unit ACBrNFSeConfiguracoes.pas, na linha 535, dentro da function TCertificadosConf.GetCertificado: ICertificate2;, antes do Result := nil; que tem logo no inicio da function e o sistema funcionou normalmente.

 

Teria como ser modificado isso dentro dos fontes do ACBr, para caso mais alguém tenha essa necessidade de criar um sistema em threads para essa verificação do processamento, já que os servidores do GINFES estão problemáticos ultimamente com lentidão constante.

 

 

Desde já muito obrigado a todos.

Sugestão? se sim anexe a unit com alteração para avaliar e subir ao svn!

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
 

 

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