ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Access Violation at address

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Rogazzi
Novato
Novato


Registrado: Quarta-Feira, 10 de Março de 2004
Mensagens: 50

MensagemEnviada: Ter Out 29, 2019 2:32 pm    Assunto: Access Violation at address Responder com Citação

Galera estou com um problema de Access Violation at address no SetFocus do componente TEdit

O form CadUsuario é criado dessa forma:

UFuncoes.TFuncoes.CriarFormModal(TFormCadUsuario, FormCadUsuario);

Na unit UFuncoes tenho uma classe:

class procedure CriarFormModal(ClassForm: TFormClass; Form: TForm);

class procedure TFuncoes.CriarFormModal(ClassForm: TFormClass; Form: TForm);
begin
Application.CreateForm(ClassForm, Form);
try
Form.ShowModal;
finally
FreeAndNil(Form);
end;
end;

No formCadUsuario no botão gravar tem uma função para validar o Usuário.

Está dando o erro aqui:

if strConfSenha = '' then
begin
UFuncoes.TFuncoes.CaixaDialogo(('O Confirmar Senha é obrigatório.'), tpErro);
ConfSenha.SetFocus; (O ERRO ESTÁ AQUI)
Abort;
end;

A Função para chamar CaixaDialogo é esse:

class function TFuncoes.CaixaDialogo(strMensagem: String; TipoBotoes: TipoBotoes): Integer;
begin
case TipoBotoes of
// Tipo Confirmação
tpConfirmacao:
Result := Application.MessageBox(PWideChar(strMensagem), PWideChar(strNomeSistema +
' - Confirmação'), MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON2 + MB_SYSTEMMODAL);
// Tipo Atenção
tpAtencao:
Result := Application.MessageBox(PWideChar(strMensagem), PWideChar(strNomeSistema +
' - Atenção'), MB_OK + MB_ICONWARNING + MB_SYSTEMMODAL);
// Tipo Erro
tpErro:
Result := Application.MessageBox(PWideChar(strMensagem), PWideChar(strNomeSistema +
' - Erro'), MB_OK + MB_ICONERROR + MB_SYSTEMMODAL);
// Tipo Informação
tpInformacao:
Result := Application.MessageBox(PWideChar(strMensagem), PWideChar(strNomeSistema +
' - Informação'), MB_OK + MB_ICONINFORMATION + MB_SYSTEMMODAL);
end;
end;

Quando uso um TDBEdit e coloco DBEDit.FocusControl funciona legal, mas no TEdit.SetFocus da erro.

Alguém já viu isso?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
ric_rio2
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 1 de Outubro de 2018
Mensagens: 108

MensagemEnviada: Qua Out 30, 2019 7:00 am    Assunto: Responder com Citação

Bom dia Rogazzi
Cara.. pelo pouco que da para ver.. eu chutaria que o Objeto ConfSenha
esta EnNambled = False.
Ai ele não pode receber setfocus..
Vê se não é isso.. Tomara que seja Smile
Abraços.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qua Out 30, 2019 9:21 am    Assunto: Responder com Citação

Bom dia,

Rogazzi, acho que o erro pode estar ocorrendo na execução de algum código que está em algum evento que está ocorrendo ao executar o SetFocus.
Para verificar essa possibilidade experimente colocar um BreakPoint na linha do SetFocus e continue a execução passo a passo pressionando a tecla F7.

Espero que ajude
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB