Ver Mensaje Individual
  #3  
Antiguo 08-06-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Reputación: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

En el artículo Run-Time Type Information (RTTI) in Delphi, de Brian Long, se explica bastante bien cómo puede obtenerse información sobre tipos en tiempo de ejecución. No os perdáis el resto de documentación disponible en la página Web de Brian Long.

Bueno. A lo que vamos. El caso es que no parece demasiado complicado listar los métodos de un determinado objeto, empero, no estoy yo muy puesto en este tema, y así, únicamente puedo listar los métodos correspondientes a los eventos de un formulario, por ejemplo, tal como se ve a continuación:

Código Delphi [-]
uses
  TypInfo;

procedure TForm1.Button1Click(Sender: TObject);
var
  i, numProps: integer;
  propsInfo: PPropList;
begin
  numProps := GetPropList(Self, propsInfo);
  for i := 0 to Pred(numProps) do begin
    if ( propsInfo^[i].PropType^.Kind = tkMethod ) then
    begin
      Memo1.Lines.Add(propsInfo^[i].Name);
    end;
  end;
end;

Sin embargo, como digo, no he conseguido que me incluya en la lista un procedimiento que he puesto a modo de prueba como privado, público y "published". Es el caso que no entiendo muy bien esto y no sé porqué no me lista el método que yo añado al objeto (al formulario, en este caso).

Pero, de cualquier modo, revisa el artículo que te enlazo más arriba, echa un vistazo a la unidad "TypInfo", busca en estos Foros y en Internet en general lo que puedas sobre RTTI (Run-Time Type Information) en Delphi y ya nos contarás lo que sea.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 08-06-2006 a las 18:14:44.
Responder Con Cita