FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour xBrowse - No entiendo el error (Mr. Rao)
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM

Re: xBrowse - No entiendo el error (Mr. Rao)

Posted: Fri May 29, 2015 03:21 PM
Ya lo dije... muy extraño
Esto es lo último que hice:
Code (fw): Select all Collapse
   WITH Object oBrwPer
      :nMarqueeStyle      := MARQSTYLE_DOTEDCELL      // barra señaladora
      :nColDividerStyle   := LINESTYLE_BLACK          // Linea Tipo
      :lColDividerComplete:= TRUE                     // Linea de columna hasta final de Brw
      :nStretchCol        := STRETCHCOL_LAST          // Ajustar ultima col, al margen derecho
      :l2007              := TRUE
      :lAllowColHiding    := FALSE                    // Anular menu pop Ocultar/Mostrar columna
      :nRowHeight         := 38
      :nMoveType          := MOVE_DOWN
      :lVScroll           := TRUE
      :nColSel:= 2

      :SetBackGround( aGrad )

      :bKeyCount:= {|| (::oDBPermi:cAlias)->( AdsKeyCount(,, ADS_RESPECTFILTERS ) ) }
      :bKeyNo   := {| n | if( HB_IsNil( n ), (::oDBPermi:cAlias)->( AdsKeyNo(,, ADS_RESPECTFILTERS ) ), ;
                                             (::oDBPermi:cAlias)->( OrdKeyGoto( n ) ) ) }
      :bGotFocus:= {|| ::oDBPermi:SetFocus() }

      :oCol( "Chk" ):SetCheck()    // SOLO ESTA LLAMADA
   END
   // Columnas
   WITH OBJECT oBrwPer:Permisos
      :nWidth:= 320
      :bPaintText:= { |oCol, hDC, cText, aCoord| ::DrawCol( oCol, hDC, cText, aCoord ) }
   END
   /*
   WITH OBJECT oBrwPer:Chk
      := 50
      :nHeadStrAlign:= :nDataStrAlign:= AL_CENTER

      //:= {|| "" }
      //  { "bmp_Ok", "bmp_Ok2" }, {|o, v| ( ::Load(), ::Permiso := v, ::Save() ) }
   END
   */
   oBrwPer:CreateFromCode()
Siempre el mismo error.
Voy a cambiar a ARRAY, o bien (re)compilar con fiveh original (tengo incluido dos modificaciones errsysw.prg y alert.prg). Y por eso dije en otro post q no soy partidario de hacer cambios en los fuentes. No soy programador Guru :-)
Te agradezco infinitamente tu tan amable predisposición.
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM

Re: xBrowse - No entiendo el error (Mr. Rao)

Posted: Fri May 29, 2015 03:30 PM
Si estás usando TDATABASE, intenta asi:

Code (fw): Select all Collapse
:SetCheck( { "bmp_Ok", "  " }, {|o, v| ( ::oDBPermi:Load(), ( ::oDBPermi:cAlias )->Permiso := v, ::oDBPermi:Save() ) }
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM

Re: xBrowse - No entiendo el error (Mr. Rao)

Posted: Fri May 29, 2015 07:11 PM

Mismo error
Lo que yo interpreto es que por ahí no viene el error porque intente as:
:SetCheck( , .T. ) como en los samples; da errror y, asi:
:SetCheck() y también da error.

Voy e revisar con cuidado todo el codigo

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 817
Joined: Sun Jun 15, 2008 07:47 PM

Re: xBrowse - No entiendo el error (Mr. Rao)

Posted: Sun May 31, 2015 02:47 AM
Por qué no intentas esto?
Code (fw): Select all Collapse
   WITH OBJECT oBrwPer:aCols[ 2 ] // <----------
      :nWidth:= 50
      :nHeadStrAlign:= :nDataStrAlign:= AL_CENTER

      :SetCheck( {"bmp_Ok", ""}, {|o, v| ::oDBPermi:Load(), ;
                                         ::oDBPermi:Permiso:= v, ;
                                         ::oDBPermi:Save() } )
   END


Y si falla esto otro:
Code (fw): Select all Collapse
    ::oDBPermi:Load() // <---------------------- 
   WITH OBJECT oBrwPer:aCols[ 2 ] // <----------
      :nWidth:= 50
      :nHeadStrAlign:= :nDataStrAlign:= AL_CENTER

      :SetCheck( {"bmp_Ok", ""}, {|o, v| ::oDBPermi:Load(), ;
                                         ::oDBPermi:Permiso:= v, ;
                                         ::oDBPermi:Save() } )
   END
______________________________________________________________________________

Sevilla - Andalucía
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM

Re: xBrowse - No entiendo el error (Mr. Rao)

Posted: Mon Jun 01, 2015 12:20 PM

Karinha, Manuel
Gracias por vuestras ayudas
Finalmente se solucionó el problema. Es un poco amplio de explicar, pero sintetizando: Como en mis proyectos cada .prg es una clase; y en este caso estaba involucrando a dos (clases/.prg), ahi se desencadena algo que provoca el error. De manera que puse todo el codigo, xbrowse, en una sola clase, y "san se acabo".
Les pido disculpas por la mala comunicación del problema.

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM

Re: xBrowse - No entiendo el error (Mr. Rao)

Posted: Sun Jun 07, 2015 11:13 PM
MarioG wrote:Estimados;
Tengo el siguiente código donde pretendo usar SetCheck()

Code (fw): Select all Collapse
  REDEFINE XBROWSE oBrwPer ID 300 OF oDlg ;
           COLUMNS "DESCRIP",  "PERMISO"  ;
           HEADERS "Permisos", "Chk"      ;
           ALIAS Alias()

   WITH Object oBrwPer
      :nMarqueeStyle      := MARQSTYLE_DOTEDCELL      // barra señaladora
      :nColDividerStyle   := LINESTYLE_BLACK          // Linea Tipo
      :lColDividerComplete:= TRUE                     // Linea de columna hasta final de Brw
      :nStretchCol        := STRETCHCOL_LAST          // Ajustar ultima col, al margen derecho
      :l2007              := TRUE
      :lAllowColHiding    := FALSE                    // Anular menu pop Ocultar/Mostrar columna
      :nRowHeight         := 38
      :nMoveType          := MOVE_DOWN
      :lVScroll           := TRUE
      :nColSel:= 2

      :CreateFromCode()
      :SetBackGround( aGrad )

      :bGotFocus:= {|| ::oDBPermi:SetFocus() }
   END
   // Columnas
   WITH OBJECT oBrwPer:Permisos
      :nWidth:= 320
      :bPaintText:= { |oCol, hDC, cText, aCoord| ::DrawCol( oCol, hDC, cText, aCoord ) }
   END
   WITH OBJECT oBrwPer:Chk
      :nWidth:= 50
      :nHeadStrAlign:= :nDataStrAlign:= AL_CENTER

      :SetCheck( {"bmp_Ok", ""}, {|o, v| ::oDBPermi:Load(), ;
                                         ::oDBPermi:Permiso:= v, ;
                                         ::oDBPermi:Save() } )
   END

El problema se dá con SetCheck(), ya que si lo comento, el browse se muestra sin problemas.
Bajo esta condición se produce el siguiente error:

    Descripción de Error generado:
    ___________________________________________________

    Error BASE/1004 Class: 'LOGICAL' has no exported method: EVAL
    Args:
    [ 1] = L .F.


    Llamadas al Stack:
    ___________________________________________________

    Llamado desde: EVAL(0)
    Llamado desde: .\source\classes\XBROWSE.PRG TXBRWCOLUMN:PAINTCELL(9609)
    Llamado desde: .\source\classes\XBROWSE.PRG TXBRWCOLUMN:PAINTDATA(9561)
    Llamado desde: .\source\classes\XBROWSE.PRG TXBROWSE:PAINT(1434)
    Llamado desde: .\source\classes\XBROWSE.PRG TXBROWSE:DISPLAY(1253)
    Llamado desde: D:\MIHARB~1\Mifwh\Sources\control.prg TCONTROL:HANDLEEVENT(1666)
    Llamado desde: .\source\classes\XBROWSE.PRG TXBROWSE:HANDLEEVENT(11632)
    Llamado desde: .\source\classes\WINDOW.PRG _FWH(3153)
    Llamado desde: DIALOGBOX(0)
    Llamado desde: .\source\classes\DIALOG.PRG TDIALOG:ACTIVATE(270)
    Llamado desde: D:\MixHarb\Temege\Sources\TCtrlAcc.prg TCTRLACC:CREAUSUARIOS(317)
    Llamado desde: D:\MixHarb\Temege\Sources\mgCfgSys.prg (b)TCFGSYS:CFGSYS(428)
    Llamado desde: .\source\classes\TGET.PRG TGET:LVALID(1184)
    Llamado desde: D:\MIHARB~1\Mifwh\Sources\control.prg TGET:FWLOSTFOCUS(1110)
    Llamado desde: D:\MIHARB~1\Mifwh\Sources\control.prg TCONTROL:HANDLEEVENT(1675)
    Llamado desde: .\source\classes\TGET.PRG TGET:HANDLEEVENT(579)
    Llamado desde: .\source\classes\WINDOW.PRG _FWH(3153)
    Llamado desde: SYSREFRESH(0)
    Llamado desde: .\source\classes\BTNBMP.PRG TBTNBMP:LBUTTONDOWN(584)
    Llamado desde: D:\MIHARB~1\Mifwh\Sources\control.prg TCONTROL:HANDLEEVENT(1687)
    Llamado desde: .\source\classes\BTNBMP.PRG TBTNBMP:HANDLEEVENT(1408)
    Llamado desde: .\source\classes\WINDOW.PRG _FWH(3153)
    Llamado desde: DIALOGBOX(0)
    Llamado desde: .\source\classes\DIALOG.PRG TDIALOG:ACTIVATE(270)
    Llamado desde: D:\MixHarb\Temege\Sources\mgCfgSys.prg TCFGSYS:CFGSYS(467)
    Llamado desde: D:\Fuen32\SiGeCo2\CA32\Source\CA_MAIN.PRG (b)BUILDMENU(167)
    Llamado desde: .\source\classes\MENU.PRG TMENU:COMMAND(461)
    Llamado desde: .\source\classes\WINDOW.PRG TWINDOW:COMMAND(1027)
    Llamado desde: TWINDOW:HANDLEEVENT(0)
    Llamado desde: .\source\classes\WINDOW.PRG _FWH(3153)
    Llamado desde: WINRUN(0)
    Llamado desde: .\source\classes\WINDOW.PRG TWINDOW:ACTIVATE(980)
    Llamado desde: D:\Fuen32\SiGeCo2\CA32\Source\CA_MAIN.PRG CA_MAIN(88)
    [/list:u]
    Que es lo que no veo en este error, para corregirlo?


Sorry, I did not see this before.

1) Please let me know the FWH version you are using.
2) Is the field PERMISO a logical field? In that case,
Code (fw): Select all Collapse
:SetCheck( { "bmp_ok", "" }, .T. )

is all that is required. Try to avoid using bPostEdit block.
3) Is ::oDbPermi a Tdatabase object? If so, "      :bGotFocus:= {|| ::SetFocus() }" is nor correct.

After you reply to the above, I shall give you my final solution.
Regards



G. N. Rao.

Hyderabad, India
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM

Re: xBrowse - No entiendo el error (Mr. Rao)

Posted: Tue Jun 09, 2015 10:45 AM

Mr. Rao
many thanks for your answer
In a previous post I answered that my problem finished. The mistake was mine
I'm sorry, but I can not explain in english

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina

Continue the discussion