Fórum Raise Exception.Create(´´); Não exibe a mensagem! #369795

15/04/2009

0

Bom é o seguinte no OnValidate de um Field coloquei o comando raise e o exception.create, mas a mensagem nao é exibida.

1
2
3
4
5
procedure Tdmdados.clienteCLINOMEValidate(Sender: TField);
begin
   if trim(clienteCLINOME.AsString) = ´´ then
      raise erro.Create(´O campo não pode ser NULO!´);
end;


O que há de errado??


Xtreme

Xtreme

Responder

Posts

15/04/2009

Ara.es

Tente programar o evento OnReconcileError do ClientDataSet, escreva um código para exibir a mensagem:

Exemplo:
1
ShowMessage(E.Message);


Veja se funciona!! Flw!


Responder

Gostei + 0

15/04/2009

Lehapan

utilize o
1
DatabaseError( ´Sua mensagem´ );


espero ter ajudado.


Responder

Gostei + 0

16/04/2009

Xtreme

Bom tentei utilizar os exemplos citados mas nao obtive sucesso.
É estranho pois quando rodo o sistema pelo delphi a execao é criada, mas somente pelo executavel nao.

Uso delphi 7 e WinXP.

Se alguem tiver uma luz.


Responder

Gostei + 0

16/04/2009

Marco Salles

Bem .. Se existir algum Bloco Try Except protegendo o Bloco
nenhuma mensagem sera Exibida

Por exemplo

1
2
3
4
5
6
7
8
procedure TForm1.Button2Click(Sender: TObject);
begin
try
 if edit1.Text = ´´ then
 Raise exception.Create(´erro´);
except
 end;
end;


Tb existe alguma configuraçoes Na IDE que inibi a Mensagem de Erro
mas no Delphi ... Pelo que vc esta dizendo no Delphi aparece a Mensagem
no Aplicativo não informa Nada

Paleativo , para isto é vc usar
Showmessage(´´) seguido do Abort < Exceção Silenciosa >


Responder

Gostei + 0

16/04/2009

Xtreme

Nao, nao existe nenhum bloc de try except protegendo, e me equivoquei ao falar que pelo delphi aparece a mensagem, na realida ocorre a execao, mas nao é exibida a mensagem.

O estranho é que em outras aplicacoes que possuo isso funcionaca tranquilamente, sem problema algum.

A maneira que vc me passou funciona, fico grato pela ajuda, mas ainda sim, quero entender o que está causando essa falha.


Responder

Gostei + 0

23/04/2009

.lg.

Eu costumo usar :
1
Application.MessageBox(PChar(´Deu erro... se vira!!!´), Pchar(´Erro´), MB_OK+MB_ICONERROR);


É muito bom. Eu gosto. [b:aee4f1b935]MessageBox[/b:aee4f1b935] vem da unit Forms.
Espero que ajude.

Att,
.lg.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar