Hola,
Me gustaría solicitar su ayuda en un tema con el que he estado trabajando sin encontrar una solución. Estoy tratando de crear una función que me permita crear un popup dinámico, esto es, en una base de datos tengo almacenada la información sobre los elementos que debe contener el popup y la función que debe de llamar en cada item, esto se tiene que crear en tiempo de ejecución.
Esto es lo que tengo:
type
TNotifyEvent = procedure(Sender: TObject) of object;
procedure TForm1.arma_popup(clase,origen : String);
var
cons, nombre, funcion : String;
imagen,i : integer;
tt : Tmenuitem;
proc :TNotifyEvent;
pt: TPoint;
begin
i:=0; //inicializar contador
PopGral.Items.Clear; // limpiar items del menú
GetCursorPos( pt ); //obtener coordenadas de donde aparecerá el popup
g_X := pt.x;
g_Y := pt.y;
while not dm.q3.Eof do begin
// obtener los datos necesarios para la creación del menú
nombre:=dm.q3.fieldbyname( 'nombre' ).AsString; // nombre que se mostrará al usuario
funcion:=dm.q3.fieldbyname( 'funarbol' ).AsString // nombre de la función
// crear los items para el popup con el contenido de los elementos de la base de datos
tt := Tmenuitem.Create( PopGral );
tt.Caption := nombre;
gral.PopGral.Items.Add( tt );
proc:=funcion; // <-- aqui es donde manda el error: incompatible types TNotifyEvent and String
PopGral.Items[ i ].OnClick := proc;
i:=i+1;
dm.q3.Next;
end;
end;


 
	 
					 
			
			 
				
				
			 
			
			







