Se vai resolver eu não sei, nao tenho como testar. Mas após o if F.Components[i] is TLabel then Coloque um begin e feche ( end;) no fim da rotina. Com isso vai pelo menos deixar de dar erro ja q deste jeito o variavel lbl esta sendo usada sem ter sido criada. Eduardo
Eduardo Silva ® <[EMAIL PROTECTED]> wrote: Galera tenho a função abaixo para fazer a validação e destacar os campos obrigatórios em um form. Essa função foi passada em um número da revista Clube Delphi que eu não me lembro, mas ela não está funcionando. Alguém poderia me dar uma mão e ver o que está errado ? Obrigado. function Valida(F: TForm): boolean; var i : integer; lbl : TLabel; ds : TDataSource; fn : string; c : TObject; begin for i := 0 to F.ComponentCount - 1 do begin if F.Components[i] is TLabel then lbl := F.Components[i] as TLabel; lbl.Font.Color := clWindowText; lbl.Font.Style := []; if lbl.FocusControl <> nil then begin c := lbl.FocusControl; {Declare TypInfo no uses} if IsPublishedProp(c,'DataSource') then begin ds := TDataSource(GetObjectProp(c,'DataSource')); if IsPublishedProp(c,'DataField') then begin fn := GetStrProp(c,'DataField'); if ds.DataSet.FieldByName(fn).Required then if ds.DataSet.FieldByName(fn).IsNull then begin lbl.Font.Style := [fsBold]; lbl.Font.Color := clRed; end; end; end; end; end; end; ~\\|//~ -(o o)- o--------------oOOOo--(_)--oOOOo-------------o | | | Eduardo de Almeida Silva | | Kobra Sistemas | | [EMAIL PROTECTED] - (14)3263-0326 | | | | .oooO Oooo. | o----------------( )---( )---------------o \ ( ) / \_) (_/ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por:PUBLICIDADE --------------------------------- Links do Yahoo! Grupos Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. --------------------------------- Yahoo! Acesso Grátis: Internet rápida e grátis. Instale o discador agora! [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html