Problema con SetItems() de Combobox

Problema con SetItems() de Combobox

Postby MarioG » Thu May 12, 2011 10:41 pm

Lo que estoy implementando es lo siguiente:
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?
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 12 guests