Se o campo (DBEdit por ex) estiver num PageControl, numa aba que não está
selecionada, ocorrerá este erro...
Vc tem que verificar se o "Parent" do DBEdit está visível.

-- Marcos Douglas

2009/7/15 Marcio Carneiro <marcio-carne...@ig.com.br>

> Olá, amigos
> Estou desenvolvendo o meu primeiro sistema do Delphi.
> Estou fazendo com base num vídeo aulda da Devmedia.
> Agora surgiu uma dúvida:
> Tenho uma rotina que antes do post, verifica se os campos marcados como não
> nulos estão preenchidos, se não estiver:
> ele dá um setfocus no campo e aí aparece o erro: CANNOT FOCUS A DISABLED OR
> INVISIBLE WINDOW"
> Só que o campo está visible e true, o pagecontrol também.
> Meu código:
> var
>  i : integer;
> {: verifica quais os campos que estão em branco no cadastro}
> begin
>  inherited;
>   Result := True; {: assume que estão todos preenchidos}
>  for i := 0 to DtSrc.DataSet.FieldCount - 1 do
>    if DtSrc.DataSet.Fields[i].Required then
>      if (DtSrc.DataSet.Fields[i].IsNull) Or
> (DtSrc.DataSet.Fields[i].AsString = '') then
>      begin
>        MessageDlg('Preencha o campo " '+
> DtSrc.DataSet.Fields[i].DisplayLabel + '"', mtWarning,[mbOk], 0);
>        Result := False;
>        DtSrc.DataSet.Fields[i].FocusControl; {: coloca o foco no controle}
> (O ERRO APARECE AQUI)
>        Break;
>      end;
>
> Já tentei no Google e nada
> Um abraço
> Marcio
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> --
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
>
>
>


[As partes desta mensagem que não continham texto foram removidas]

Responder a