encapsule a propriedade Automatico... por ex:

property Automatico: Boolean read FAutomatico write setAutomatico;

toda vez que alterar o valor da propriedade Automatico é chamado o 
método setAutomatico... ai vc verifica nele

procedure TComponente.setAutomatico(Value: Boolean);
begin
     if FAutomatico <> Value then
     begin
         FAutomatico := Value;
         if Fautomatico then
             Validar;
     end;
end;

essa me parece a melhor forma....



Em 07/05/2010 15:35, Jhosef Marks escreveu:
>
> E ai povo, to fazendo um componente que tem um metódo Validar.
>
> Quem for usar tem que colocar... Componente.Validar; para que ele faça 
> o que
> tem que fazer...
>
> Agora eu criei uma propriedade Automatico;
>
> Só que não to conseguindo fazer com que o componente chame o Validar 
> quando
> o automatico foi setado em true.
>
> Se eu faço isso no OnCreate do componente sempre vai acontecer a mesma 
> coisa
> baseado no que configurei como default...
>
> Tentei usar o ComponentState mas em tempo de execução está vazio (ou seja
> []).
>
> Como eu consigo resolver isso??? Alguma dica???
>
> Att,
>
> Jhosef Marks de Carvalho
> Blog: http://www.jhosefmarks.com.br <http://www.jhosefmarks.com.br>
> Jesus está voltando
>
> "E se o meu povo, que se chama pelo meu nome, se humilhar, e orar, e 
> buscar
> a minha face e se converter dos seus maus caminhos, então eu ouvirei dos
> céus, e perdoarei os seus pecados, e sararei a sua terra." (2 Cr 7:14)
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  <!-- #ygrp-mkp { border: 1px solid #d8d8d8; font-family: 
> Arial; margin: 10px 0; padding: 0 10px; } #ygrp-mkp hr { border: 1px 
> solid #d8d8d8; } #ygrp-mkp #hd { color: #628c2a; font-size: 85%; 
> font-weight: 700; line-height: 122%; margin: 10px 0; } #ygrp-mkp #ads 
> { margin-bottom: 10px; } #ygrp-mkp .ad { padding: 0 0; } #ygrp-mkp .ad 
> a { color: #0000ff; text-decoration: none; } #ygrp-sponsor #ygrp-lc { 
> font-family: Arial; } #ygrp-sponsor #ygrp-lc #hd { margin: 10px 0px; 
> font-weight: 700; font-size: 78%; line-height: 122%; } #ygrp-sponsor 
> #ygrp-lc .ad { margin-bottom: 10px; padding: 0 0; } a { color: 
> #1e66ae; } #actions { font-family: Verdana; font-size: 11px; padding: 
> 10px 0; } #activity { background-color: #e0ecee; float: left; 
> font-family: Verdana; font-size: 10px; padding: 10px; } #activity span 
> { font-weight: 700; } #activity span:first-child { text-transform: 
> uppercase; } #activity span a { color: #5085b6; text-decoration: none; 
> } #activity span span { color: #ff7900; } #activity span .underline { 
> text-decoration: underline; } .attach { clear: both; display: table; 
> font-family: Arial; font-size: 12px; padding: 10px 0; width: 400px; } 
> .attach div a { text-decoration: none; } .attach img { border: none; 
> padding-right: 5px; } .attach label { display: block; margin-bottom: 
> 5px; } .attach label a { text-decoration: none; } blockquote { margin: 
> 0 0 0 4px; } .bold { font-family: Arial; font-size: 13px; font-weight: 
> 700; } .bold a { text-decoration: none; } dd.last p a { font-family: 
> Verdana; font-weight: 700; } dd.last p span { margin-right: 10px; 
> font-family: Verdana; font-weight: 700; } dd.last p span.yshortcuts { 
> margin-right: 0; } div.attach-table div div a { text-decoration: none; 
> } div.attach-table { width: 400px; } div.file-title a, div.file-title 
> a:active, div.file-title a:hover, div.file-title a:visited { 
> text-decoration: none; } div.photo-title a, div.photo-title a:active, 
> div.photo-title a:hover, div.photo-title a:visited { text-decoration: 
> none; } div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts { font-family: 
> Verdana; font-size: 10px; font-weight: normal; } .green { color: 
> #628c2a; } .MsoNormal { margin: 0 0 0 0; } o { font-size: 0; } #photos 
> div { float: left; width: 72px; } #photos div div { border: 1px solid 
> #666666; height: 62px; overflow: hidden; width: 62px; } #photos div 
> label { color: #666666; font-size: 10px; overflow: hidden; text-align: 
> center; white-space: nowrap; width: 64px; } #reco-category { 
> font-size: 77%; } #reco-desc { font-size: 77%; } .replbq { margin: 
> 4px; } #ygrp-actbar div a:first-child { /* border-right: 0px solid 
> #000;*/ margin-right: 2px; padding-right: 5px; } #ygrp-mlmsg { 
> font-size: 13px; font-family: Arial, helvetica,clean, sans-serif; 
> *font-size: small; *font: x-small; } #ygrp-mlmsg table { font-size: 
> inherit; font: 100%; } #ygrp-mlmsg select, input, textarea { font: 99% 
> Arial, Helvetica, clean, sans-serif; } #ygrp-mlmsg pre, code { 
> font:115% monospace; *font-size:100%; } #ygrp-mlmsg * { line-height: 
> 1.22em; } #ygrp-mlmsg #logo { padding-bottom: 10px; } #ygrp-mlmsg a { 
> color: #1E66AE; } #ygrp-msg p a { font-family: Verdana; } #ygrp-msg 
> p#attach-count span { color: #1E66AE; font-weight: 700; } #ygrp-reco 
> #reco-head { color: #ff7900; font-weight: 700; } #ygrp-reco { 
> margin-bottom: 20px; padding: 0px; } #ygrp-sponsor #ov li a { 
> font-size: 130%; text-decoration: none; } #ygrp-sponsor #ov li { 
> font-size: 77%; list-style-type: square; padding: 6px 0; } 
> #ygrp-sponsor #ov ul { margin: 0; padding: 0 0 0 8px; } #ygrp-text { 
> font-family: Georgia; } #ygrp-text p { margin: 0 0 1em 0; } #ygrp-text 
> tt { font-size: 120%; } #ygrp-vital ul li:last-child { border-right: 
> none !important; } -->
>


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

Responder a