Sugerencia contra fallos:
Código Delphi
[-]
procedure CreaMenuDinamico;
var
CompW : TComponent;
Variable : String;
begin
Variable:='MenuVentas';
CompW:=FindComponent(Variable);
if CompW = nil then
raise Exception.CreateFmt('procedimiento CreaMenuDinamico: No se ha encontrado %s para crear el menú.',[variable]);
TMenu(CompW).Items[0].enable : False;
end;
Si el componente se llama "MenuVenta
s" e intentas buscar por "MenuVenta" provocará un access violation sin más información.
Con esa condición añadida, obtienes una Excepción.... el programa se para, sí, pero te está diciendo exactamente en qué procedimiento y además la variable que no está encontrando. Buscar el fallo es cosa de niños
.
Como leí por algún sitio: KISS (Keep It Simple STUPID
) Realmente funciona jejeje.
Saludos.