Ver Mensaje Individual
  #3  
Antiguo 22-10-2004
Avatar de ruina
ruina ruina is offline
Miembro
 
Registrado: jun 2004
Posts: 196
Reputación: 22
ruina Va por buen camino
Sí, lo que buscas se puede hacer con una técnica de OOP llamada "Reflexión"


en la unidad Typinfo.pas de delphi encontraras las funciones necesarias: GetPropInfo, SetOrdProp, SetStrProp y alguna mas... pero las interesantes son esas.

Concretamente lo que pides se puede hacer así:

Código Delphi [-]
 
uses TypInfo; //acuerdate de ponerlo
...
...
procedure TForm1.Button1Click(Sender: TObject);
var p :PPropInfo;
begin
    p:= GetPropInfo(Sender.ClassInfo,'hint');
    if p<>nil then
    begin
         SetStrProp(Sender, 'hint','hola!');
         SetOrdProp(Sender, 'showhint',1); //aqui no pregunto, pero me estoy jugando una bonita excepción
    end;
    if GetPropInfo(Sender.ClassInfo,'Caption')<>nil then
         SetStrProp(Sender, 'caption','^_^');
end;

Lo bueno es que vale para cualquier Sender .. incluso si te bajas el componente "TColorPolloFritoEdit" (se nota que tengo hambre?) funcionará.
__________________
todo el mundo debe creer en algo... yo creo que voy a tomarme otra copa.

Última edición por ruina fecha: 22-10-2004 a las 16:26:58.
Responder Con Cita