Al lado de un Combobox tengo un botón para acceder a la Tabla que carga su Array, con la ideá de hacer la actualización dinamicamente
Aclarando que estoy trabajando con MariaDB + Eagle, por eso no genero un sample.
De cualquier manera he puesto paradas y, cuando agrego un registro a la Tabla, lo hace correctamente, de la misma manera que el agregado al array ocurre en consecuencia.
El boton del Dialog que contiene al Combo llama al metodo siguiente:
- Code: Select all Expand view
METHOD DefComplemento( nTabla, oCmb ) CLASS TYORutinas
...
h0:aFamilias:= aClone( oSelf:GetDropLst( "DescFam", _TBFAMILIAS, "DescFam" ) ), ;
wqout({"Agregó en DropLst", Len(h0:aFamilias), oCmb:ClassName() }), ; // solo para verificar que no este vacio
oCmb:SetItems(h0:aFamilias), wqout({"paso??"}), ;
oCmb:Refresh(), wqout({"refresca Combo"}), ;
oCmb:Set( cDescripcion ), wqout({"Muestra descripción"})
...
Luego, ingrese en el fuente de la clase TCombobox y cambie SetItems() por las llamadas que hace en el fuente
- Code: Select all Expand view
h0:aFamilias:= aClone( oSelf:GetDropLst( "DescFam", _TBFAMILIAS, "DescFam" ) ), ;
h0:aCodFam := aClone( oSelf:GetDropLst( "CodFam", _TBFAMILIAS, "DescFam" ) ), ;
wqout({"Agregó en DropLst", Len(h0:aFamilias), oCmb:ClassName() }), ;
oCmb:Reset(), wqout({"reset"}), ;
oCmb:aItems := h0:aFamilias, ;
oCmb:Default(), wqout({"Default"}), ;
oCmb:Change(), wqout({"change"}), ;
oCmb:Refresh(), wqout({"refresca Combo"}), ;
oCmb:Set( cDescripcion ), wqout({"Muestra descripción"}), ;
Con esto detecté que error daba en ::Change(). Asi es que luego de esto, incluí en mi compilación combobox.prg y detecté que el error lo da cuando llama a Eval( ::bChange, Self, cItem )
Y estas son las líneas de error:
Llamado desde: D:\Fuen32\Yolanda\Source\YO_T01.prg (b)TMANTENIMIENTO:AGREDITINSUMOS(95)
Llamado desde: D:\Fuen32\Yolanda\Source\combobox.prg TCOMBOBOX:CHANGE(391)
Llamado desde: D:\Fuen32\Yolanda\Source\combobox.prg (b)TCOMBOBOX:TCOMBOBOX(124)
Llamado desde: TCOMBOBOX:RESET(0)
Llamado desde: D:\Fuen32\Yolanda\Source\TYORuts.prg (b)TMANTENIMIENTO:DEFCOMPLEMENTO(102)
Llamado desde: .\source\classes\TRBTN.PRG TRBTN:CLICK(579)
Llamado desde: .\source\classes\TRBTN.PRG TRBTN:LBUTTONUP(754)
Llamado desde: .\source\classes\CONTROL.PRG TCONTROL:HANDLEEVENT(1489)
Llamado desde: .\source\classes\TRBTN.PRG TRBTN:HANDLEEVENT(1398)
Llamado desde: .\source\classes\WINDOW.PRG _FWH(3394)
Llamado desde: DIALOGBOX(0)
Llamado desde: .\source\classes\DIALOG.PRG TDIALOG:ACTIVATE(273)
Llamado desde: D:\Fuen32\Yolanda\Source\TYORuts.prg TMANTENIMIENTO:DEFCOMPLEMENTO(106)
Alguna sugerencia, hay algo mal?