Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ayuda para pasar un TMainMenu a Ttreeview (https://www.clubdelphi.com/foros/showthread.php?t=78237)

microbiano 31-03-2012 10:40:39

ayuda para pasar un TMainMenu a Ttreeview
 
buenos dias amigos.

esa es la pregunta como paso un TmainMenu a un TTreeview, esto con la finalidad de poder otorgar permisos a mis usuarios

el Tmainmenu esta en el form principal de nombre FrmMenu, y el TTreeview esta en otro formulario de nombre FrmPermisos.

encontre esta rutina pero no logro hacerla funcionar.

Código Delphi [-]
procedure TFpermisos.VerificaMenu(Menu: TMenuItem; Nod: TTreeNode);
  Var
    i: Integer;
    Nodo: TTreeNode;
  Begin
    // Para cada elemento del menu
    for i:= 0 To (Menu.Count - 1) Do Begin
      // Es un elemento correcto
      If Not(Menu.Parent Is TMenuItem) then begin
          // Crear el elemento  asignarle el índice de la imagen
          Nodo:= tv1.Items.Add(Nil, Menu.Items[i].Caption);
          Nodo.ImageIndex := Menu.Items[i].ImageIndex;
      End
      Else begin
        // Crear un hijo
        Nodo:= tv1.Items.AddChild(Nod, Menu.Items[i].Caption);
        Nodo.ImageIndex := Menu.Items[i].ImageIndex;
      end;

      // Llamada recursiva para los submenus
      If Menu.Items[i].Count > 0 Then begin
        VerificaMenu(Menu.Items[i], Nodo);
      end;
    End;
  end;

y la llamo de la siguiente manera

Código Delphi [-]
VerificaMenu(FrmMenu.menuItem.Items,nil);

pero no logro hacerla funcionar alguna sugenrecia.?

de antemano muchas gracias amigos del foro

makina 31-03-2012 17:06:08

Podrias dar mas informacion
 
Hola que tal, yo he usado esa rutina y funciona perfecto,
podrías dar mas detalle de que error te muestra o cual es el problema?

Saludos

microbiano 01-04-2012 02:21:38

Respuesta
 
creo que el problema radica en el en TmainMenu no esta en el mismo Formulario que el Ttreeview, adjunto en archivo zip el error que me manda, de antemano muchas gracias amigo

microbiano 01-04-2012 02:23:58

1 Archivos Adjunto(s)
adjunto el error que me manda cuandto trato de llamar a la funcion con este codigo.

Código Delphi [-]
 VerificaMenu(fmenu.Menu.Items,nil);

microbiano 03-04-2012 05:07:31

hola amigos aun no he podido resolver la problematica de cargar el menu en el Treeview, alguna sugerencia.?

newtron 03-04-2012 09:07:15

Hola.

No he ejecutado tu código pero echandole un vistazo veo que a la función le pasas como parámetro la variable Nod pero sin embargo luego todas las asignaciones las haces sobre una variable local llamada Nodo que no creas, por eso te da esa excepción.

Saludos

Neeruu 03-04-2012 13:17:20

1 Archivos Adjunto(s)
Hola microbiano!!!

Te adjunto un ejemplo andando de la procedimiento para que lo controles con lo que tienes hecho...

Espero que te sirva...

Saluda Atte Neeruu!!!:)


La franja horaria es GMT +2. Ahora son las 10:43:41.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi