Ver Mensaje Individual
  #1  
Antiguo 29-06-2012
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Reputación: 22
movorack Va camino a la famamovorack Va camino a la fama
TNotifyEvent a Cadena?

Hola a todos los compañero del foro.

Estoy realizando un componente - en Delphi 5 - para unas labores de la empresa, pero estoy enredado en un pequeño detalle. Resulta que el componente que estoy creando requiere una lista de Acciones (Nombre, Formulario y Evento) que he creado con en un TCollection.

Código Delphi [-]
  TKPlAccionItem = class(TCollectionItem)
  private
    FNombre : String;
    FForma  : TForm;
    FEvento : TNotifyEvent;
    FNomEve : string;
    procedure SetNombre(const Value: String);
    procedure SetEvento(const Value: TNotifyEvent);
    procedure SetForma(const Value: TForm);
    function GetForma: TForm;
  protected
    function GetDisplayName : String; override;
  public
    procedure Assign(Source: TPersistent); override;
  published
    property Nombre : String read FNombre write SetNombre;
    property Forma  : TForm read GetForma write SetForma;
    property Evento : TNotifyEvent read FEvento write SetEvento;
  end;

Este componente tiene como objetivo crear un archivo XML con datos registrados en el, incluyendo las Acciones.

Código:
..
<acciones>
  <accion nombre="Aceptar" evento="AceptarClick" />
  <accion nombre="Cancelar" evento="CancelarClick" />
</acciones>
..
Pero el problema que hasta ahora he tenido es que no logro tomar, convertir, obtener el nombre del evento en una cadena para guardarla en FNomEve.

Código Delphi [-]
//Este es uno de los últimos ejercicios con los que he intentado pero no logro obtener el resultado que espero.
procedure TKPlAccionItem.SetEvento(const Value: TNotifyEvent);
begin
  FEvento := Value;
  FNomEve := MethodName(@Value);
end;

Agradezco si alguno pudiese colaborarme. he buscado en foros, referencias y aún no encuentro nada para resolver la situación.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita