Bueno... a la final no encontré una forma de obtener el nombre dentro del componente y pues agregué al componente un procedimiento para procesar los nombres de las acciones dentro del formulario. Que ahí si funcionaba el obtener el nombre a partir del TNotifyEvent.
En el componente:
Código Delphi
[-]
type
..
TKplOnGetNomAcciones = procedure(Sender : TObject; var Acciones : TKPlAccionList) of object;
..
TKPlGenDefi = class(TComponent)
private
..
FAcciones: TKPlAccionList;
FOnGetNomAcciones: TKplOnGetNomAcciones;
procedure SetOnGetNomAcciones(const Value: TKplOnGetNomAcciones);
..
published
..
property OnGetNomAcciones : TKplOnGetNomAcciones read FOnGetNomAcciones write SetOnGetNomAcciones;
..
end;
..
Implementation
..
procedure TKPlGenDefi.GenerarDefinicion;
begin
..
if Assigned(FOnGetNomAcciones) then
FOnGetNomAcciones(Self, FAcciones);
..
end;
y en el programa de pruebas:
Código Delphi
[-]
procedure TFrmTestPlanEjecD5.KPlGenDefiGetNomAcciones(Sender: TObject; var Acciones: TKPlAccionList);
var
i : Integer;
begin
for i := 0 to Acciones.Count - 1 do
begin
if Assigned(Acciones.Items[i].Evento) then
Acciones.Items[i].NomEve := MethodName(@Acciones.Items[i].Evento);
end;
end;
De esta manera, ya tengo el nombre de la acción y la podré llevar al XML como lo he intentado desde la semana pasada.
Muchas gracias
Lepe por tu colaboración.
Me queda la duda porque desde el componente nunca pude obtener el nombre.