Estimado Armando,
El problema que describes ocurre porque el array aSelected del browse no se est谩 inicializando o limpiando correctamente cuando el browse est谩 vac铆o.
Causa
Cuando usas MARQSTYLE_HIGHLROWMS, el browse habilita autom谩ticamente la multiselecci贸n. El array aSelected se inicializa como vac铆o en el m茅todo _InitData() 0-cite-0 , pero en ciertas condiciones puede contener datos residuales o un bookmark inv谩lido.
Soluciones
Opci贸n 1: Inicializar expl铆citamente aSelected
Despu茅s de que el browse se llene con datos, aseg煤rate de limpiar el array:
Opci贸n 2: Usar el m茅todo SelectNone()
Llama a este m茅todo despu茅s de llenar el browse:
Opci贸n 3: Validar en el footer
Modifica tu c贸digo del footer para manejar el caso cuando el browse est谩 vac铆o:
:bFooter := { || If( oBrw:nLen == 0, 0, LEN( oBrw:aSelected ) ) }
Opci贸n 4: Verificar que aSelected no sea nil
Tambi茅n puedes agregar una validaci贸n adicional:
:bFooter := { || If( oBrw:aSelected == nil, 0, LEN( oBrw:aSelected ) ) }
Recomendaci贸n
La soluci贸n m谩s robusta ser铆a combinar las opciones 3 y 4:
:bFooter := { || If( oBrw:nLen == 0 .or. oBrw:aSelected == nil, 0, LEN( oBrw:aSelected ) ) }
Esto asegura que el footer muestre 0 cuando el browse est谩 vac铆o, independientemente del estado del array aSelected.