Foro de debate

Problemas al cargar un plugin de Rcmdr

Problemas al cargar un plugin de Rcmdr

de David Leiva -
Número de respuestas: 3
Hola he desarrollado un plugin de Rcmdr mediante el cual se crea en el menú principal otro menú con 2 ítems y dos submenús con 2 ítems cada uno:


# type menu/item operation/parent label command/menu activation install?

menu mainMenu topMenu "" "" "" ""
item mainMenu command "SRM Block Designs" Rcmdr.SRMblock "" "packageAvailable('nonindependence')"
item mainMenu command "SRM Round Robin Designs" Rcmdr.SRMroundrobin "" "packageAvailable('nonindependence')"
menu strdMenu mainMenu "" "" "" ""
item strdMenu command "Interval Outcomes" Rcmdr.intervalout "" "packageAvailable('nonindependence')"
item strdMenu command "Categorical Outcomes" Rcmdr.categoricalout "" "packageAvailable('nonindependence')"
item mainMenu cascade "Dyadic Standard Designs" strdMenu "" "packageAvailable('nonindependence')"
menu helpMenu mainMenu "" "" "" ""
item helpMenu command "Help about nonindependence" Rcmdr.help.nonindependence "" "packageAvailable('nonindependence')"
item helpMenu command "Help about RcmdrPlugin.nonindependence" Rcmdr.help.RcmdrPlugin.nonindependence "" "packageAvailable('nonindependence')"
item mainMenu cascade "Help About..." helpMenu "" "packageAvailable('nonindependence')"
item topMenu cascade "Nonindependence" mainMenu "" "packageAvailable('nonindependence')"


Al intentar cargarlo, el programa da el siguiente mensaje de error:

Warning in max(which((Menus[, "operationOrParent"] == "cascade") & (Menus[, :
no non-missing arguments to max; returning -Inf
Error in get(Menus[m, 2]) : object 'mainMenu' not found


Al eliminar del archivo de texto los submenús y dejar los 6 ítems del plugin, entonces se carga sin problemas:

# type menu/item operation/parent label command/menu activation install?
menu mainMenu topMenu "" "" "" ""
item mainMenu command "SRM Block Designs" Rcmdr.SRMblock "" "packageAvailable('nonindependence')"
item mainMenu command "SRM Round Robin Designs" Rcmdr.SRMroundrobin "" "packageAvailable('nonindependence')"
item mainMenu command "Interval Outcomes" Rcmdr.intervalout "" "packageAvailable('nonindependence')"
item mainMenu command "Categorical Outcomes" Rcmdr.categoricalout "" "packageAvailable('nonindependence')"
item mainMenu command "Help about nonindependence" Rcmdr.help.nonindependence "" "packageAvailable('nonindependence')"
item mainMenu command "Help about RcmdrPlugin.nonindependence" Rcmdr.help.RcmdrPlugin.nonindependence "" "packageAvailable('nonindependence')"
item topMenu cascade "Nonindependence" mainMenu "" "packageAvailable('nonindependence')"

He seguido las pautas que Fox da en su artículo para crear plugins de Rcmdr y también he ojeado el código de otros plugins y no veo dónde está el problema en la primera alternativa (que es la que yo preferiría).

Agradecería cualquier comentario al respecto.

David Leiva.

En respuesta a David Leiva

Re: Problemas al cargar un plugin de Rcmdr

de Manuel Muñoz Márquez -
Aunque no he podido probar tu código y yo tampoco veo el error, creo que el problema es de sintaxis.

Prueba a ir añadiendo las líneas una a una para poder identificar cuál es la problemática.

Saludos.
En respuesta a Manuel Muñoz Márquez

Re: Problemas al cargar un plugin de Rcmdr

de David Leiva -
Muchas gracias por tu respuesta. Probaré línea a línea a ver dónde está el error. Pero sospecho que el problema está cuando añado los ítems tipo "cascade" dentro del menú principal. Y es de lo más extraño porque copié tal cual la sintaxis del menú de Rcmdr...

Gracias otra vez por tan rápida respuesta.

David.