Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia, ao clicar em SALVAR (olhe a imagem em anexo) para salvar o PDF da DANFE, caso o usuário deixe o nome do arquivo em branco da o erro de Nome de Arquivo não especificado.

Eu já envio o nome do arquivo preenchido, mas tem usuários que apagam.

Coloquei dentro de um try para tentar controlar, mas a exception não para no try

      try
        DM.ACBrNFe1.NotasFiscais.Imprimir;
      Except
        On E:Exception do begin
          Application.MessageBox(pchar('Ocorreu um problema, não foi possivel imprimir. Tente novamente. '+
          ' Se não conseguir, reinicie o computador e tente novamente. Erro: '+E.Message),'Atenção',MB_ICONINFORMATION+MB_OK);
          exit;
        end;
      end;

exception class    : Exception
exception message  : Nome do arquivo não especificado.

thread $703c:
00f97803 Sgl.exe      RLPreviewForm        1393  +27 TRLPreviewForm.SpeedButtonSaveClick
 

Erro Nome de arquivo não especificado.png

  • Administradores
Postado

Bom dia,

Obrigada pela análise, poderia por favor anexar o pas alterado?

At.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Administradores
Postado

Bom dia,

Certo, confirme por favor...vc utiliza o Fortes Report?

At.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado

Olá @Suporte Acodi,

Essa exception ocorre dentro do Form de Preview do próprio Fortes Report.
Realmente colocar um "try except" no comando imprimir não vai funcionar, pois o foco só voltará para sua aplicação quando o PreviewForm for fechado.

Porém o erro não está finalizando a aplicação... e a mensagem está clara: "Nome do arquivo não especificado".
Não entendi qual seria o problema, porque para resolver bastaria clicar novamente no botão salvar e informar um nome.

Consultor SAC ACBr

Elias César Vieira
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Assine o
SAC

 
Postado (editado)

Bom dia Elias

O erro esta finalizando a aplicação. E como o try except não tem efeito não consigo tratar, e colocar a mensagem de arquivo "Nome do arquivo não especificado".

 try
        DM.ACBrNFe1.NotasFiscais.Imprimir;
      Except
        On E:Exception do begin
          Application.MessageBox(pchar('Ocorreu um problema, não foi possivel imprimir. Tente novamente. '+
          ' Se não conseguir, reinicie o computador e tente novamente. Erro: '+E.Message),'Atenção',MB_ICONINFORMATION+MB_OK);
          exit;
        end;
      end;

Uso o madexcept, embaixo está o resultado

date/time          : 2022-07-19, 11:19:08, 89ms
computer name      : DESENVOLVIMENTO
user name          : Jorge
registered owner   : Jorge
operating system   : Windows 10 x64 build 22000
system language    : Portuguese
system up time     : 14 days 8 hours
program up time    : 1 minute 54 seconds
processors         : 6x Intel(R) Core(TM) i7-8700T CPU @ 2.40GHz
physical memory    : 2133/16207 MB (free/total)
free disk space    : (C:) 272,13 GB
display mode       : 1920x1080, 32 bit
process id         : $180a8
allocated memory   : 184,71 MB
largest free block : 864,71 MB
executable         : Sgl.exe
exec. date/time    : 2022-07-18 17:41
version            : 1.0.8234.25846
compiled with      : Delphi 10.4 Sydney
madExcept version  : 5.1.0
callstack crc      : $2c13876e, $a34b568a, $bb66f09c
exception number   : 1
exception class    : Exception
exception message  : Nome do arquivo não especificado.

thread $9958:
00f977b3 Sgl.exe      RLPreviewForm        1393  +27 TRLPreviewForm.SpeedButtonSaveClick
0069af73 Sgl.exe      Vcl.Controls                   TControl.Click
00b91fd4 Sgl.exe      Vcl.Buttons                    TCustomSpeedButton.Click
00b91fbe Sgl.exe      Vcl.Buttons                    TCustomSpeedButton.MouseUp
0069b3a4 Sgl.exe      Vcl.Controls                   TControl.DoMouseUp
0069b432 Sgl.exe      Vcl.Controls                   TControl.WMLButtonUp
0069b05c Sgl.exe      Vcl.Controls                   TControl.DoMouseDown
0069aa1a Sgl.exe      Vcl.Controls                   TControl.WndProc
757288cf msvcrt.dll                                  _vsnwprintf_l
0069a654 Sgl.exe      Vcl.Controls                   TControl.Perform
0069f170 Sgl.exe      Vcl.Controls                   TWinControl.IsControlMouseMsg
0069f7c1 Sgl.exe      Vcl.Controls                   TWinControl.WndProc
0069eebc Sgl.exe      Vcl.Controls                   TWinControl.MainWndProc
00564af8 Sgl.exe      System.Classes                 StdWndProc
760e55ab user32.dll                                  DispatchMessageW
007c7fd7 Sgl.exe      Vcl.Forms                      TApplication.ProcessMessage
007c801a Sgl.exe      Vcl.Forms                      TApplication.HandleMessage
007c33f6 Sgl.exe      Vcl.Forms                      TCustomForm.ShowModal
007c3485 Sgl.exe      Vcl.Forms                      TCustomForm.ShowModal
007c359f Sgl.exe      Vcl.Forms                      TCustomForm.ShowModal
00f93246 Sgl.exe      RLPreviewForm         371  +23 PreviewPagesWithOptions
00fb5e4d Sgl.exe      RLReport            13633  +11 TRLCustomReport.PreviewModal
00fd6a3e Sgl.exe      ACBrNFeDANFeRL                 TfrlDANFeRL.Imprimir
00fd6ab8 Sgl.exe      ACBrNFeDANFeRL                 TfrlDANFeRL.Imprimir
00fd6add Sgl.exe      ACBrNFeDANFeRL                 TfrlDANFeRL.Imprimir
00ffe7ce Sgl.exe      ACBrNFeDANFeRLClass            TACBrNFeDANFeRL.ImprimirDANFE
00ffe7ef Sgl.exe      ACBrNFeDANFeRLClass            TACBrNFeDANFeRL.ImprimirDANFE
00f3d5a3 Sgl.exe      ACBrNFeNotasFiscais  3876   +2 TNotasFiscais.Imprimir
02043a66 Sgl.exe      UnNFe               15531 +112 TfrmNFe.ActImprimirExecute
020d2994 Sgl.exe      UnSGL                1914   +8 TfrmSGL.ActImprimirExecute
00563da3 Sgl.exe      System.Classes                 TBasicAction.Execute
0067e272 Sgl.exe      Vcl.ActnList                   TCustomAction.Execute
00563bf7 Sgl.exe      System.Classes                 TBasicActionLink.Execute
0069af5c Sgl.exe      Vcl.Controls                   TControl.Click
00708d54 Sgl.exe      Vcl.ComCtrls                   TToolButton.Click
0069b427 Sgl.exe      Vcl.Controls                   TControl.WMLButtonUp
0069aa1a Sgl.exe      Vcl.Controls                   TControl.WndProc
007be14f Sgl.exe      Vcl.Forms                      TCustomForm.WndProc
0069a654 Sgl.exe      Vcl.Controls                   TControl.Perform
0069efb9 Sgl.exe      Vcl.Controls                   GetControlAtPos
0069f08a Sgl.exe      Vcl.Controls                   InternalControlAtPos
0069a654 Sgl.exe      Vcl.Controls                   TControl.Perform
0069f170 Sgl.exe      Vcl.Controls                   TWinControl.IsControlMouseMsg
0069f7c1 Sgl.exe      Vcl.Controls                   TWinControl.WndProc
0070dd9a Sgl.exe      Vcl.ComCtrls                   TToolBar.WndProc
0069eebc Sgl.exe      Vcl.Controls                   TWinControl.MainWndProc
0069eed7 Sgl.exe      Vcl.Controls                   TWinControl.MainWndProc
00564af8 Sgl.exe      System.Classes                 StdWndProc
760e55ab user32.dll                                  DispatchMessageW
007c7fd7 Sgl.exe      Vcl.Forms                      TApplication.ProcessMessage
007c801a Sgl.exe      Vcl.Forms                      TApplication.HandleMessage
007c8351 Sgl.exe      Vcl.Forms                      TApplication.Run
023927e2 Sgl.exe      Sgl                   198  +87 initialization
755d6737 KERNEL32.DLL                                BaseThreadInitThunk

thread $18f6c:
760eed19 user32.dll             MsgWaitForMultipleObjects
004bbc75 Sgl.exe      madExcept CallThreadProcSafe
004bbcda Sgl.exe      madExcept ThreadExceptFrame
755d6737 KERNEL32.DLL           BaseThreadInitThunk
>> created by thread $9958 at:
74b45868 gdiplus.dll

thread $16eb4 (TACBrThreadTimer):
75ae84ed KERNELBASE.dll                         WaitForMultipleObjectsEx
0067ac2e Sgl.exe        System.SyncObjs         THandleObject.WaitFor
00d8e9ff Sgl.exe        ACBrBase        517 +19 TACBrThreadTimer.Execute
004bbd8f Sgl.exe        madExcept               HookedTThreadExecute
00560bfd Sgl.exe        System.Classes          ThreadProc
00560c60 Sgl.exe        System.Classes          ThreadProc
0040ca50 Sgl.exe        System           23  +0 ThreadWrapper
004bbc75 Sgl.exe        madExcept               CallThreadProcSafe
004bbcda Sgl.exe        madExcept               ThreadExceptFrame
755d6737 KERNEL32.DLL                           BaseThreadInitThunk
>> created by thread $9958 at:
00560cc4 Sgl.exe        System.Classes          TThread.Create

thread $17ff4:
755d6737 KERNEL32.DLL  BaseThreadInitThunk

thread $1846c:
755d6737 KERNEL32.DLL  BaseThreadInitThunk

thread $17908:
75adfb33 KERNELBASE.dll           WaitForSingleObjectEx
75adfa8d KERNELBASE.dll           WaitForSingleObject
004bbc75 Sgl.exe        madExcept CallThreadProcSafe
004bbcda Sgl.exe        madExcept ThreadExceptFrame
755d6737 KERNEL32.DLL             BaseThreadInitThunk
>> created by thread $9958 at:
74d7a998 winspool.drv

Editado por Suporte Acodi
  • 4 semanas depois ...
Postado

quem esta finalizando a aplicação não é o erro: "Nome do arquivo não especificado"

quem esta finalizando a aplicação é o usuário, pois o madexcept quando é acionado mostra na tela um botão para "continuar" ou "fechar"

vc pode  remover a opção nas configurações do madexcept

Postado (editado)

Mas se o madexcept e chamado, é porque a exceção aconteceu, e não passou pelo try except. O madexcept não abre quando coloco a rotina dentro de um try,da forma que passei acima, mostrando o erro ao usuário.

O Elias colocou acima que não encerra a aplicação, mas sim, o erro faz que o aplicativo feche.

Editado por Suporte Acodi
  • Este tópico foi criado há 833 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.