bug FWH2606 en la clase TDockPnel

Post Reply
User avatar
leandro
Posts: 1828
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Has thanked: 63 times
Been thanked: 19 times
Contact:

bug FWH2606 en la clase TDockPnel

Post by leandro »

Hola buenos días para todos, estamos compilando la aplicación con la nueva versión de fwh2606, pero tenemos el siguiente error, al intentar usar la clase TDockPnel, pasa en todas las interfases en donde hacemos el llamado a este objeto.

El error es el siguiente:

Code: Select all | Expand

Aplicación
==========
   Ruta y nombre: C:\cmplar_64\hymlyma.exe (64 bits)
   Tamaño: ********* bytes
   Versión del compilador: xHarbour 1.3.2 Intl. (SimpLex) (Build 20251210)
   Versión de FiveWin: FWH 26.03
   Versión del compilador C: LLVM/Clang C 5.0.2 (64-bit)
   Windows 8 64 Bits, version: 6.2, Build 9200 

   Tiempo desde inicio: 7 sec
   Error ocurrido en: 18/06/2026, 10:26:38
   Descripción del error: Error BASE/1081  Error de argumento: +
   Argumentos:
     [   1] = B   {|| ... }
     [   2] = N   203

Pila de llamadas
================
   Llamado desde: C:\fwteam\source/classes/control.prg => (b)TCONTROL:TCONTROL( 211 )
   Llamado desde:  => TDOCKPNEL:_NHEIGHT( 0 )
   Llamado desde: C:\fwteam\source/internal/tdockpnel.prg => TDOCKPNEL:SETCOORS( 303 )
   Llamado desde: .\PRG\R32_trab.prg => PINFOTRABAJADORES( 341 )
   Llamado desde: .\PRG\R32_trab.prg => R32_TRAB( 97 )
   Llamado desde: .\PRG\Alyma.prg => (b)TLYMA:AUTORIZA( 1738 )
   Llamado desde: .\PRG\Alyma.prg => TLYMA:AUTORIZA( 1738 )
   Llamado desde: .\PRG\R32_menu.prg => (b)PESTANANOMINA( 1287 )
   Llamado desde: C:\fwteam\source/classes/trbtn.prg => TRBTN:CLICK( 720 )
   Llamado desde: C:\fwteam\source/classes/trbtn.prg => TRBTN:LBUTTONUP( 923 )
   Llamado desde: C:\fwteam\source/classes/control.prg => TCONTROL:HANDLEEVENT( 1896 )
   Llamado desde: C:\fwteam\source/classes/trbtn.prg => TRBTN:HANDLEEVENT( 1575 )
   Llamado desde: C:\fwteam\source/classes/window.prg => _FWH( 1076 )
   Llamado desde:  => WINRUN( 0 )
   Llamado desde: C:\fwteam\source/classes/window.prg => TMDIFRAME:ACTIVATE( 1205 )
   Llamado desde: .\PRG\R32_menu.prg => VTNAPRINCIPAL( 1215 )
   Llamado desde: .\PRG\R32_menu.prg => MAIN( 126 )

En esta línea es en donde hace referencia a nuestra app

Image

Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
User avatar
Antonio Linares
Site Admin
Posts: 44508
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 717 times
Been thanked: 311 times
Contact:

Re: bug FWH2606 en la clase TDockPnel

Post by Antonio Linares »

Estimado Leandro,

Usa 10 en vez de usar { | o | 10 }, en ambos casos

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
leandro
Posts: 1828
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Has thanked: 63 times
Been thanked: 19 times
Contact:

Re: bug FWH2606 en la clase TDockPnel

Post by leandro »

Ya lo ajustamos como lo indicaste, pero hay mas problemas, se generan una buena cantidad de errores, luego de corregir eso, parece no cargar los datos de un xbrowse (array), y de ahí para allá inicia con mas errores.

Me puedes ayudar con instrucciones para compilar un ejemplo que tenga la clase TDockPnel, ya que no veo ninguno en la carpeta samples.

De antemano gracias

Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
User avatar
Antonio Linares
Site Admin
Posts: 44508
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 717 times
Been thanked: 311 times
Contact:

Re: bug FWH2606 en la clase TDockPnel

Post by Antonio Linares »

Ve copiando aqui los errores que te aparezcan, gracias

Los ejemplos estan en samples\test\ui\testdock...

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 44508
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 717 times
Been thanked: 311 times
Contact:

Re: bug FWH2606 en la clase TDockPnel

Post by Antonio Linares »

Aqui tienes un nuevo ejemplo:

Code: Select all | Expand

#include "../../../include/fivewin.ch"
#include "colores.ch"

Static oFont
Static oFontB
Static oFontTitle

//----------------------------------------------------------------------------//

Function Main()

   DEFINE FONT oFont  NAME "Tahoma" SIZE 0,-11
   DEFINE FONT oFontB NAME "Tahoma" SIZE 0,-14 BOLD
   DEFINE FONT oFontTitle NAME "Calibri" SIZE 0,-16

   EjemploDockPnel()

   oFont:End()
   oFontB:End()
   oFontTitle:End()

Return nil

//----------------------------------------------------------------------------//

Static Function EjemploDockPnel()

   local oWnd
   local oDock1
   local oDock2
   local oDock3
   local oDock4

   DEFINE WINDOW oWnd FROM 0, 0 TO 600, 900 ;
      PIXEL TITLE "Ejemplo TDockPnel" ;
      COLOR CLR_WHITE, Rgb( 182, 182, 182 )

  // Panel izquierdo - Barra lateral
  oDock1 := TDockPnel():New( oWnd )
  WITH OBJECT oDock1
     :SetCoors( 10, 10, 560, 210 )
     :SetHeightCaption( 40 )
     :SetBorderSize( 4 )
     :SetCaption( "Panel Lateral" )
     :SetColors( CLR_WHITE, METRO_STEEL, METRO_TEAL, CLR_WHITE )
     :SetFont( oFontTitle )
     :cAlignText := "CC"
     :SetCtrlsPnel( { | o, nT, nL, nH, nW | CreaBotonesLateral( o, nT, nL, nH, nW ) } )
     :Activate()
  END

  // Panel central superior
  oDock2 := TDockPnel():New( oWnd )
  WITH OBJECT oDock2
     :SetCoors( 10, 220, 280, 600 )
     :SetHeightCaption( 40 )
     :SetBorderSize( 4 )
     :SetCaption( "Panel Superior" )
     :SetColors( CLR_WHITE, METRO_OLIVE, , )
     :SetFont( oFontTitle )
     :SetCtrlsPnel( { | o, nT, nL, nH, nW | CreaBrowse( o, nT, nL, nH, nW ) } )
     :Activate()
  END

  // Panel central inferior
  oDock3 := TDockPnel():New( oWnd )
  WITH OBJECT oDock3
     :SetCoors( 290, 220, 560, 600 )
     :SetHeightCaption( 40 )
     :SetBorderSize( 4 )
     :SetCaption( "Panel Inferior" )
     :SetColors( CLR_WHITE, METRO_CRIMSON, , )
     :SetFont( oFontTitle )
     :SetCtrlsPnel( { | o, nT, nL, nH, nW | CreaInfo( o, nT, nL, nH, nW ) } )
     :Activate()
  END

  // Panel derecho
  oDock4 := TDockPnel():New( oWnd )
  WITH OBJECT oDock4
     :SetCoors( 10, 610, 560, 880 )
     :SetHeightCaption( 40 )
     :SetBorderSize( 4 )
     :SetCaption( "Panel Derecho" )
     :SetColors( CLR_WHITE, METRO_COBALT, , )
     :SetFont( oFontTitle )
     :lBottom := .T.  // Título abajo
     :SetCtrlsPnel( { | o, nT, nL, nH, nW | CreaForm( o, nT, nL, nH, nW ) } )
     :Activate()
  END

   ACTIVATE WINDOW oWnd MAXIMIZED

Return nil

//----------------------------------------------------------------------------//
// Crea botones en el panel lateral
//----------------------------------------------------------------------------//

Static Function CreaBotonesLateral( oP, nT, nL, nH, nW )

   local oBtn1, oBtn2, oBtn3, oBtn4

   DEFAULT nT := 5
   DEFAULT nL := 5
   DEFAULT nH := oP:nHeight - 10
   DEFAULT nW := oP:nWidth - 10

   @ nT, nL BUTTON oBtn1 PROMPT "Archivo" SIZE nW, 40 PIXEL OF oP ;
      ACTION MsgInfo( "Opci├│n Archivo" )

   @ nT + 45, nL BUTTON oBtn2 PROMPT "Editar" SIZE nW, 40 PIXEL OF oP ;
      ACTION MsgInfo( "Opci├│n Editar" )

   @ nT + 90, nL BUTTON oBtn3 PROMPT "Ver" SIZE nW, 40 PIXEL OF oP ;
      ACTION MsgInfo( "Opci├│n Ver" )

   @ nT + 135, nL BUTTON oBtn4 PROMPT "Ayuda" SIZE nW, 40 PIXEL OF oP ;
      ACTION MsgInfo( "Opci├│n Ayuda" )

Return nil

//----------------------------------------------------------------------------//
// Crea un browse en el panel
//----------------------------------------------------------------------------//

Static Function CreaBrowse( oP, nT, nL, nH, nW )

   local oBrw
   local aData := { { "Enero", 1000, 1200 }, ;
                    { "Febrero", 1100, 1300 }, ;
                    { "Marzo", 1050, 1800 }, ;
                    { "Abril", 1825, 1975 }, ;
                    { "Mayo", 2000, 1670 }, ;
                    { "Junio", 970, 1025 }, ;
                    { "Julio", 1150, 1600 }, ;
                    { "Agosto", 1250, 1700 } }

   DEFAULT nT := 2
   DEFAULT nL := 2
   DEFAULT nH := oP:nHeight - 4
   DEFAULT nW := oP:nWidth - 4

   @ nT, nL XBROWSE oBrw SIZE nW, nH PIXEL OF oP ;
      DATASOURCE aData ;
      COLUMNS 1, 2, 3 ;
      HEADERS "Mes", "Ventas", "Costos" ;
      LINES STYLE FLAT

   WITH OBJECT oBrw
      :lRecordSelector := .F.
      :lHScroll := .F.
      :lVScroll := .F.
      :l2007 := .F.
      :nStretchCol := 1
      :lFitGridHeight := .T.
      :nHeaderHeight := 28
      :nRowHeight := 24
      :nMarqueeStyle := MARQSTYLE_HIGHLROW
      :bClrStd := { || { Rgb( 88, 88, 88 ), CLR_WHITE } }
      :lFullGrid := .T.
      :SetFont( oFont )
      AEVal( :aCols, { | o | o:cEditPicture := "9,999" }, 2, 3 )
      :CreateFromCode()
   END

Return oBrw

//----------------------------------------------------------------------------//
// Crea un gráfico en el panel
//----------------------------------------------------------------------------//

Static Function CreaInfo( oP, nT, nL, nH, nW )

   local oBtn1, oBtn2

   DEFAULT nT := 10
   DEFAULT nL := 10
   DEFAULT nH := oP:nHeight - 20
   DEFAULT nW := oP:nWidth - 20

   @ nT, nL BUTTON oBtn1 PROMPT "Panel Inferior" PIXEL SIZE nW, 40 OF oP ;
      ACTION MsgInfo( "Este es un ejemplo de TDockPnel" )

   @ nT + 50, nL BUTTON oBtn2 PROMPT "Informaci├│n" PIXEL SIZE nW, 40 OF oP ;
      ACTION MsgInfo( "Los paneles se adaptan al tama├▒o" )

Return nil

//----------------------------------------------------------------------------//
// Crea un formulario simple
//----------------------------------------------------------------------------//

Static Function CreaForm( oP, nT, nL, nH, nW )

   local oName, oEmail, oBtn
   local cName := Space( 40 )
   local cEmail := Space( 40 )

   DEFAULT nT := 10
   DEFAULT nL := 10

   @ nT, nL GET oName VAR cName PIXEL SIZE nW - 20, 24 OF oP ;
      CUEBANNER "Nombre"

   @ nT + 40, nL GET oEmail VAR cEmail PIXEL SIZE nW - 20, 24 OF oP ;
      CUEBANNER "Email"

   @ nT + 85, nL + 40 BUTTON oBtn PROMPT "Enviar" PIXEL SIZE 100, 30 OF oP ;
      ACTION MsgInfo( "Nombre: " + AllTrim( cName ) + CRLF + ;
                      "Email: " + AllTrim( cEmail ) )

Return nil

//----------------------------------------------------------------------------//
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply