Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Bom dia pessoal,

 

Gostaria de sugerir uma alteração no ACBrNFe e aos demais (ACBrCTe, ACBrMDFe...) que possuem essa mesma situação:

 

No componente ACBrNFe, temos uma propriedade Configuracoes.Geral.PathSalvar

 

Essa configuração é setada padrão o diretório corrente, que fica a pasta Bin do Delphi.

Se eu quiser deixá-la em branco, por exemplo, ele volta a setar essa mesma pasta.

 

Logicamente, essa pasta é setada pela minha aplicação em tempo de execução, conforme o programa está instalado no cliente. Por isso não faz muito sentido eu deixá-la definida fixa em tempo de design.

 

O problema relacionado a isso é que: quando eu abro o projeto, ele tenta sempre criar essa pasta se ela não existir.

Por isso se eu deixar lá gravado, por exemplo: c:\teste, cada vez que eu abro o projeto no Delphi, ele cria essa pasta desnecessariamente.

 

Pelo que vi nos fontes, isso ocorre na verdade pela unit da DANFe (ACBrNFeDANFeClass):

function TACBrNFeDANFEClass.GetPathArquivos: String;
begin
  if DFeUtil.EstaVazio(FPathArquivos) then
     if Assigned(FACBrNFe) then
        FPathArquivos := TACBrNFe(FACBrNFe).Configuracoes.Geral.PathSalvar;

  if DFeUtil.NaoEstaVazio(FPathArquivos) then
     if not DirectoryExists(FPathArquivos) then
        ForceDirectories(FPathArquivos);

  Result := PathWithDelim(FPathArquivos);
end;

Acredito então que para evitar essa questão de ficar criando a pasta, poderia colocar um if not DesignTime...

para que crie a pasta somente quando em execução.

 

Porém, na verdade acho que o mais correto seria permitir que deixasse em branco essa propriedade diretamente no componente principal (no caso o ACBrNFe), pois se vou definí-la em tempo de execução, não deveria ficar outra pasta sem sentido gravada nessa propriedade.

 

 

OBS: Percebi isso pois agora que troquei do XE5 para o XE6, todos os meus componentes do ACBr estão com esse valor padrão gravado no projeto como "C:\XE5\Bin", que era a pasta onde estava o XE5. Agora, como essa pasta não existe mais, cada vez que abro o projeto, ele cria automaticamente (ForceDirectories) as pastas C:\XE5\bin...

 

 

Desde já obrigado.

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