Hola Diana.
No, nada parece ser en OnCreate y tampoco veo que liberes nada en OnClose, reamente es raro. Lo que sí es seguro,
por el tipo de excepción, que en algún punto tratas de utilizar un recurso no creado o de liberar un recurso inexistente...
Para tratar de involucrar menos elementos y aislar el error, podrías probar lo siguiente:
FrmMenuCliente
Código Delphi
[-]
procedure TFrmMenuCliente.ClientesClick(Sender: TObject);
begin
TFrmClientes.Mostrar;
end;
FrmClientes
Código Delphi
[-]
...
type
TFrmClientes = class(TForm)
procedure FormCreate(Sender: TObject);
...
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
private
public
class procedure Mostrar;
end;
...
implementation
class procedure TFrmClientes.Mostrar;
begin
if not Assigned(FrmClientes) then
FrmClientes:= TFrmClientes.Create(nil);
FrmClientes.ShowModal;
end;
procedure FormCreate(Sender: TObject);
begin
...
end;
...
procedure TFrmClientes.FormClose(Sender: TObject; var Action: TCloseAction);
begin
...
Action:= caFree;
end;
procedure TFrmClientes.FormDestroy(Sender: TObject);
begin
FrmClientes:= nil;
end;
Eso seguramente no te quite el error, pero lo circunscribe a FrmClientes, excepto que se esté provocando en las líneas:
Código Delphi
[-]
Permisos(FrmClientes.Tag);
PermisosBotones(FrmClientes.spbAdicionar,FrmClientes.spbModificar,nil,FrmClientes.spbAceptar);
De las que tendrías que prescindir para la prueba.
Un saludo.