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]