Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 24-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola José Luis.

Hice unos pequeños cambios y funciona sin errores y respetando los niveles de acceso. Te pongo las modificaciones junto con mis disculpas por recortar el código, pero fué a fín de simplificarme la lectura.

Esta fué la prueba:
Código Delphi [-]
...
procedure TFMenuPrincipal.FormCreate(Sender: TObject);
begin
  VarNivelUsuario:= 0;
end;

function CompruebaNivel(Tag, Nivel:Integer):Boolean;
begin
  Result := Tag <= Nivel;
end;

function TFMenuPrincipal.AbrirForms(AClass:TFormClass; NivelAcceso:TAction;
         ModoAbrir:Integer; NomModulo:string):Boolean;
var
  Modulo:TForm;
begin
  if CompruebaNivel(NivelAcceso.Tag, VarNivelUsuario) then
  begin
    try
      Modulo:= Application.FindComponent(Copy(AClass.ClassName, 2, MaxInt)) as TForm;
      if not Assigned(Modulo) then
      begin
        Modulo:= AClass.Create(nil);
        if ModoAbrir = 1 then
          Modulo.ShowModal
        else
          Modulo.show;
      end
      else
      begin
        if ModoAbrir = 1 then
          Modulo.ShowModal
        else
          Modulo.show;
      end;
      Result:=True;
    except
      ShowMessage('error '+NomModulo);
      Result:=False;
    end;
  end
  else
  begin
    ShowMessage('Usuario con nivel '+IntToStr(NivelAcceso.Tag)+' requerido');
    Result:=False;
  end;
end;

procedure TFMenuPrincipal.ActionExecute(Sender: TObject);
begin
  if CompruebaNivel(FFamilias.Tag, VarNivelUsuario)=true then
  begin
    try
      if not Assigned(FFamilias) then
      begin
        FFamilias:= TFFamilias.Create(nil);
        FFamilias.ShowModal;
      end
      else
        FFamilias.ShowModal;
    except
      ShowMessage('error al abrir el modulo');
    end;
  end
  else
  begin
    ShowMessage('Usuario con nivel '+IntToStr(FFamilias.Tag)+' requerido');
  end;
end;

procedure TFMenuPrincipal.Button1Click(Sender: TObject);
begin
 // Action3 (Tag:2) da error nivel requerido, con Action1(Tag:0) muestra FFamilias correctamente
  AbrirForms(TFFamilias, Action3, 1 , 'Familias'); 
end;

end.
De todas maneras vas a tener que probarlo bién, ya que como decimos aca "en la cancha se ven los pingos (caballos)"


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 24-05-2011 a las 14:37:37.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Que estoy haciendo mal ? piolillo Internet 8 28-07-2011 17:23:24
Uso de clases, ¿que estoy haciendo mal? gerardorom C++ Builder 2 26-12-2007 15:35:38
Que estoy haciendo Mal esimon SQL 4 04-07-2006 21:55:25
Que estoy Haciendo mal jostrix PHP 1 01-11-2004 01:29:16


La franja horaria es GMT +2. Ahora son las 06:18:30.


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
Copyright 1996-2007 Club Delphi