FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour FWH 26.03 buscamos betatesters
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: FWH 26.03 buscamos betatesters
Posted: Mon Mar 30, 2026 09:02 PM
karinha wrote:

Master, FIVEGURU.PRG

Application
===========
   Path and name: C:\FWH2603\samples\fiveguru.exe (32 bits)
   Size: 5,038,080 bytes
   Compiler version: xHarbour 1.3.2 Intl. (SimpLex) (Build 20260103)
   FiveWin version: FWH 26.03
   C compiler version: Borland/Embarcadero C++ 7.7 (32-bit)
   Windows 11 64 Bits, version: 6.2, Build 9200 

   Time from start: 19 sec
   Error occurred at: 03/30/26, 14:01:06
   Error description: Error BASE/1081  Argument error: +
   Args:
     [   1] = C         MENUITEM "
     [   2] = U   

Stack Calls
===========
   Called from: source\classes\menu.prg => GENSUBMENU( 1522 )
   Called from: source\classes\menu.prg => TMENU:CGENPRG( 1508 )
   Called from: source\classes\window.prg => TMDIFRAME:CGENPRG( 1488 )
   Called from: fiveguru.prg => (b)MAINQUERY( 61 )
   Called from: source\classes\button.prg => TBUTTON:CLICK( 207 )
   Called from: source\classes\control.prg => TBUTTON:HANDLEEVENT( 1860 )
   Called from: source\classes\window.prg => _FWH( 487 )
   Called from:  => SENDMESSAGE( 0 )
   Called from: source\classes\dialog.prg => TDIALOG:COMMAND( 535 )
   Called from:  => TWINDOW:HANDLEEVENT( 0 )
   Called from: source\classes\dialog.prg => TDIALOG:HANDLEEVENT( 1290 )
   Called from: source\classes\window.prg => _FWH( 1076 )
   Called from:  => WINRUN( 0 )
   Called from: source\classes\window.prg => TMDIFRAME:ACTIVATE( 1205 )
   Called from: fiveguru.prg => MAIN( 27 )

Arreglado, gracias! :) :!:

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: FWH 26.03 buscamos betatesters
Posted: Tue Mar 31, 2026 12:29 AM

[quote]Aplicación

Ruta y nombre: C:\fwh16\UNION\UNION.exe (32 bits)
Tamaño: 7,333,376 bytes
Versión del compilador: Harbour 3.2.0dev (r2407221137)
Versión de FiveWin: FWH 26.03
Versión del compilador C: Borland/Embarcadero C++ 7.7 (32-bit)
Windows 10 64 Bits, version: 6.2, Build 9200

Tiempo desde inicio: 39 sec
Error ocurrido en: 30/03/2026, 21:22:32
Descripción del error: Error BASE/1005 No existe la variable de instancia: BOLD
Argumentos:
[ 1] = A {,5007379} length: 2
[ 2] = L .T.

Pila de llamadas

Llamado desde: .\source\prg\tdolpexp.prg => _BOLD( 0 )
Llamado desde: source\classes\xbrowse.prg => TXBROWSE:TOEXCEL( 11307 )
Llamado desde: source\classes\xbrowse.prg => (b)TXBROWSE_REPORT( 10694 )
Llamado desde: source\classes\report.prg => TREPORT:TOEXCEL( 2124 )
Llamado desde: source\classes\rpreview.prg => (b)TPREVIEW( 100 )
Llamado desde: source\classes\rpreview.prg => TPREVIEW:EXPORTTOMSEXCEL( 0 )
Llamado desde: source\classes\rpreview.prg => (b)TPREVIEW_BUILDBUTTONBAR( 411 )
Llamado desde: source\classes\btnbmp.prg => TBTNBMP:CLICK( 820 )
Llamado desde: source\classes\btnbmp.prg => TBTNBMP:LBUTTONUP( 1107 )
Llamado desde: source\classes\control.prg => TCONTROL:HANDLEEVENT( 1896 )
Llamado desde: source\classes\btnbmp.prg => TBTNBMP:HANDLEEVENT( 2150 )
Llamado desde: source\classes\window.prg => _FWH( 4196 )
Llamado desde: source\classes\window.prg => WINRUN( 0 )
Llamado desde: source\classes\window.prg => TMDIFRAME:ACTIVATE( 1205 )
Llamado desde: UNION.prg => MAIN( 79 )[/quote]
Este error me dio al sacar un reporte desde el report del xbrowse y luego intentar enviarlo a excel desde preview

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: FWH 26.03 buscamos betatesters
Posted: Tue Mar 31, 2026 05:13 AM

Estimado César,

The error is at xbrowse.prg:11307 where oSheet:Rows(1):Font:Bold := .T. fails because :Bold is being resolved to a
_BOLD accessor in your TDolphin export class (tdolpexp.prg) instead of going through OLE dispatch. The first argument
is an array (length 2), not an OLE Font object.

This suggests that oSheet:Rows(1):Font is returning a TDolphin object instead of the Excel OLE Font object. The
TDolphin library you have linked defines a class with a _BOLD method that conflicts with the OLE property resolution.

The safest fix is to wrap the bold formatting in TRY/CATCH since it's cosmetic:

● Update(source\classes\xbrowse.prg)
⎿  Added 3 lines
11304
11305 // Totals, if needed
11306
11307 + TRY
11308 oSheet:Rows( 1 ):Font:Bold := .T.
11309 oSheet:Rows( nRow ):Font:Bold := .T.
11310 + CATCH
11311 + END
11312
11313 if ValType( nGroupBy ) == 'N'
11314 for nxCol := 1 TO Len( aCols )

● This wraps the bold formatting in TRY/CATCH. The export will work but without bold headers/totals if the TDolphin
class conflict occurs.

However, the root cause is in tdolpexp.prg from the TDolphin library - it defines a class whose _BOLD accessor
interferes with OLE dispatch. You could:

  1. Check if you have a newer version of TDolphin that fixes this

  2. Check if tdolpexp.prg defines a class with DATA Bold that somehow gets mixed into the OLE resolution chain

  3. Alternatively, if you don't need TDolphin export functionality, try not linking tdolpexp.prg into your application

    Would you like me to rebuild the hbc32c lib to include this fix?

✻ Churned for 4m 36s

❯ como llegas a la conclusion de que usa TDolphin ?

● Tienes razón, fue una suposición mía. Vi tdolpexp.prg en el stack trace y asumí que "tdolp" = TDolphin, pero no tengo
forma de saberlo. Es un archivo de tu aplicación UNION (.\source\prg\tdolpexp.prg), no de FWH.

Lo que sí es un hecho del error:

  1. oSheet:Rows(1):Font:Bold := .T. en xbrowse.prg:11307 falla

  2. El :Bold se resuelve a _BOLD en tdolpexp.prg (línea 0 = DATA accessor)

  3. El argumento [1] es un array de longitud 2, no un objeto OLE Font

    ¿Qué contiene tu tdolpexp.prg? Eso ayudaría a entender por qué el OLE dispatch de Excel termina en una clase definida
    ahí. Estás usando TDolphin ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: FWH 26.03 buscamos betatesters
Posted: Tue Mar 31, 2026 12:45 PM
Antonio Linares wrote:

Estimado César,

The error is at xbrowse.prg:11307 where oSheet:Rows(1):Font:Bold := .T. fails because :Bold is being resolved to a
_BOLD accessor in your TDolphin export class (tdolpexp.prg) instead of going through OLE dispatch. The first argument
is an array (length 2), not an OLE Font object.

This suggests that oSheet:Rows(1):Font is returning a TDolphin object instead of the Excel OLE Font object. The
TDolphin library you have linked defines a class with a _BOLD method that conflicts with the OLE property resolution.

The safest fix is to wrap the bold formatting in TRY/CATCH since it's cosmetic:

● Update(source\classes\xbrowse.prg)
⎿ Added 3 lines
11304
11305 // Totals, if needed
11306
11307 + TRY
11308 oSheet:Rows( 1 ):Font:Bold := .T.
11309 oSheet:Rows( nRow ):Font:Bold := .T.
11310 + CATCH
11311 + END
11312
11313 if ValType( nGroupBy ) == 'N'
11314 for nxCol := 1 TO Len( aCols )

● This wraps the bold formatting in TRY/CATCH. The export will work but without bold headers/totals if the TDolphin
class conflict occurs.

However, the root cause is in tdolpexp.prg from the TDolphin library - it defines a class whose _BOLD accessor
interferes with OLE dispatch. You could:

  1. Check if you have a newer version of TDolphin that fixes this

  2. Check if tdolpexp.prg defines a class with DATA Bold that somehow gets mixed into the OLE resolution chain

  3. Alternatively, if you don't need TDolphin export functionality, try not linking tdolpexp.prg into your application

    Would you like me to rebuild the hbc32c lib to include this fix?

✻ Churned for 4m 36s

❯ como llegas a la conclusion de que usa TDolphin ?

● Tienes razón, fue una suposición mía. Vi tdolpexp.prg en el stack trace y asumí que "tdolp" = TDolphin, pero no tengo
forma de saberlo. Es un archivo de tu aplicación UNION (.\source\prg\tdolpexp.prg), no de FWH.

Lo que sí es un hecho del error:

  1. oSheet:Rows(1):Font:Bold := .T. en xbrowse.prg:11307 falla

  2. El :Bold se resuelve a _BOLD en tdolpexp.prg (línea 0 = DATA accessor)

  3. El argumento [1] es un array de longitud 2, no un objeto OLE Font

    ¿Qué contiene tu tdolpexp.prg? Eso ayudaría a entender por qué el OLE dispatch de Excel termina en una clase definida
    ahí. Estás usando TDolphin ?

Si, estoy usando TDolphin y exporto con la exportar de Xbrowse de una consulta. Crees que es conveniente que toque el código o vos modificas las librerias?

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: FWH 26.03 buscamos betatesters
Posted: Tue Mar 31, 2026 03:19 PM

Maestro, BTNSETUP.PRG, ¿cuál es la ruta correcta a estos dos archivos?

#include "..\..\include\WinApi.ch"

DragBtn CURSOR "../../../cursors/dragbtn.cur"

Confusión. jajaja

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: FWH 26.03 buscamos betatesters
Posted: Tue Mar 31, 2026 03:26 PM

Maestro, BALANCE.PRG, ¿cuál es el propósito de esta plantilla? ¿Es posible crearla directamente a partir de un archivo *.DBF? ¿Hay una fecha prevista para la versión completa?

Gracias, tks.

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: FWH 26.03 buscamos betatesters
Posted: Tue Mar 31, 2026 03:34 PM

Maestro: BIGFOLD.PRG y BIGFOLD.RC -> ERRORS.

Application
===========
   Path and name: C:\FWH2603\samples\bigfold.exe (32 bits)
   Size: 5,028,352 bytes
   Compiler version: xHarbour 1.3.2 Intl. (SimpLex) (Build 20260103)
   FiveWin version: FWH 26.03
   C compiler version: Borland/Embarcadero C++ 7.7 (32-bit)
   Windows 11 64 Bits, version: 6.2, Build 9200 

   Time from start: 3 sec
   Error occurred at: 03/31/26, 12:30:26
   Error description: Warning BASE/1004  Message not found: TFOLDER:TDIALOG

Stack Calls
===========
   Called from: source\rtl\tobject.prg => TFOLDER:ERROR( 0 )
   Called from: source\rtl\tobject.prg => TFOLDER:MSGNOTFOUND( 0 )
   Called from: source\rtl\tobject.prg => TFOLDER:TDIALOG( 0 )
   Called from: source\classes\folder.prg => TFOLDER:SETCOLOR( 1366 )
   Called from: source\classes\folder.prg => TFOLDER:REDEFINE( 308 )
   Called from: bigfold.prg => BIGFOLDER( 55 )
   Called from: bigfold.prg => (b)BUILDMENU( 34 )
   Called from: source\classes\menu.prg => TMENU:COMMAND( 1621 )
   Called from: source\classes\window.prg => TWINDOW:COMMAND( 1246 )
   Called from:  => TWINDOW:HANDLEEVENT( 0 )
   Called from: source\classes\window.prg => _FWH( 1076 )
   Called from:  => WINRUN( 0 )
   Called from: source\classes\window.prg => TWINDOW:ACTIVATE( 1205 )
   Called from: bigfold.prg => MAIN( 21 )

Las rutas en ARQUIVOS.RC son todas INCORRECTAS.

#define IDC_PUSHBUTTON2 111
#define IDC_CHECKBOX1	111
#define IDC_PUSHBUTTON1	112
#define BITMAP_1	1
// #include "..\..\include\WinApi.ch"
#include "..\include\WinApi.ch"

test DIALOG 9, 30, 298, 194
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "DIALOG_1"
FONT 8, "MS Sans Serif"
{
 DEFPUSHBUTTON "OK", IDOK, 67, 173, 50, 14
 PUSHBUTTON "Cancel", IDCANCEL, 124, 173, 50, 14
 PUSHBUTTON "Help", 998, 180, 173, 50, 14
 CONTROL "", 110, FOLDER32, 0 | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 4, 7, 289, 162
}


one DIALOG 6, 15, 277, 157
STYLE WS_CHILD
FONT 8, "MS Sans Serif"
{
 CONTROL "", 110, "TWBrowse", 0 | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP | WS_VSCROLL, 5, 9, 268, 104
 CONTROL "", 120, "TBtnBmp", 0 | WS_CHILD | WS_VISIBLE, 121, 122, 20, 20
 CONTROL "", -1, "BorShade", BSS_HDIP | BSS_LEFT | WS_CHILD | WS_VISIBLE, 89, 117, 100, 2
 CONTROL "Button", IDC_PUSHBUTTON2, "BorBtn", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 20, 120, 37, 25
}

two DIALOG 6, 15, 277, 189
STYLE WS_CHILD
FONT 8, "MS Sans Serif"
{
 CONTROL "", 110, "TWBrowse", 0 | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 5, 9, 268, 104
 CONTROL "Button", 1, "BorBtn", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 118, 121, 37, 25
 CONTROL "Check", IDC_CHECKBOX1, "BorCheck", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 189, 127, 34, 10
 CONTROL "Button", IDC_PUSHBUTTON1, "BorBtn", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 28, 147, 37, 25
}

three DIALOG 6, 15, 277, 151
STYLE WS_CHILD
FONT 8, "MS Sans Serif"
{
 CONTROL "", 110, "TWBrowse", 0 | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 5, 9, 268, 104
 CONTROL "Button", 1, "BorBtn", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 118, 121, 37, 25
}

four DIALOG 6, 15, 277, 151
STYLE WS_CHILD
FONT 8, "MS Sans Serif"
{
 CONTROL "", 110, "TWBrowse", 0 | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 5, 9, 268, 104
 CONTROL "Button", 1, "BorBtn", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 118, 121, 37, 25
}

five DIALOG 6, 15, 277, 190
STYLE WS_CHILD
FONT 8, "MS Sans Serif"
{
 CONTROL "", 110, "TWBrowse", 0 | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 5, 9, 268, 104
 CONTROL "Button", 1, "BorBtn", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 118, 121, 37, 25
 CONTROL "", -1, "BorShade", BSS_HDIP | BSS_LEFT | WS_CHILD | WS_VISIBLE, 86, 161, 100, 2
}

six DIALOG 6, 15, 277, 151
STYLE WS_CHILD
FONT 8, "MS Sans Serif"
{
 CONTROL "", 110, "TWBrowse", 0 | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 5, 9, 268, 104
 CONTROL "Button", 1, "BorBtn", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 118, 121, 37, 25
}

seven DIALOG 6, 15, 277, 151
STYLE WS_CHILD
FONT 8, "MS Sans Serif"
{
 CONTROL "", 110, "TWBrowse", 0 | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 5, 9, 268, 104
 CONTROL "Button", 1, "BorBtn", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 118, 121, 37, 25
}

// info BITMAP "../../../bitmaps/info.bmp"
info BITMAP "../bitmaps/info.bmp"

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: FWH 26.03 buscamos betatesters
Posted: Tue Mar 31, 2026 05:30 PM

Estimado Antonio

En la clase RPREVIEW.PRG

He realizado algunos cambios para mejorar la estética y no está saliendo las vocales con tilde Ej. Página

 oBar:bPainted = { || oBar:Say( 8, aCoors[ 4 ]-190, "Página: ",,, ::oFont, .T., .T. ),;
                         oBar:Say( 8, aCoors[ 4 ]-120, +" de "+LTrim( TransForm( Len( ::oDevice:aMeta ), "99999" )),,,::oFont, .T., .T. ) }

Con la versión FWH2512 Sale perfecto.

Saludos,



Adhemar C.
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: FWH 26.03 buscamos betatesters
Posted: Tue Mar 31, 2026 06:55 PM

Maestro Antônio, un ejemplo espectacular.

Pregunta: ¿Por qué SKINBUTTONS() no funciona con BTNBMP?

// C:\FWH\SAMPLES\GETCASE2.PRG con efectos especiais. By <Kapiaba> ORIGINAL: GETCASE.PRG

#include "fivewin.Ch"

#Define CLR_SOFTYELLOW nRGB( 255, 251, 225 ) //-> Amarelo/amarillo Soft.
#define CLR_MYCELESTE1 nRGB( 074, 108, 154 )

FUNCTION Main()

   LOCAL oDlg, oFont, oBtn, oBtn2, oSkinB, oSay, oSay3
   LOCAL aData := { SPACE( 40 ), SPACE( 40 ), SPACE( 40 ) }
   LOCAL aGet[ 3 ]

   SetBalloon( .T. ) // Balloon shape required for tooltips

   oSkinB := TSkinButton():New()
   oSkinB:nClrBorder0_N := RGB( 249, 194, 179 )
   oSkinB:nClrBorder1_N := RGB( 181, 61, 29 )
   oSkinB:aClrNormal    := { { .50, nRGB( 210, 235, 216 ), nRGB( 210, 235, 216 ) } }

   SkinButtons( oSkinB ) // NO FUNCIONA CON BTNBMP.

   SetGetColorFocus()

   tGet():lDisColors  := .F.   // WHEN( .F. )
   tGet():nClrTextDis := CLR_HBLUE
   tGet():nClrPaneDis := CLR_SOFTYELLOW

   DEFINE FONT oFont NAME "Segoe UI Semibold" SIZE 0,-16

   DEFINE DIALOG oDlg SIZE 540, 250 PIXEL TRUEPIXEL FONT oFont ;
      TITLE FWVERSION + " : GET Upper, Lower, Proper Cases - GETCASE2.PRG"

   oDlg:lHelpIcon := .F.
   oDlg:lTransparent := .T.

   @  30, 30 SAY " Upper Case :"  WIDTH 100 GET aGet[ 1 ] VAR aData[ 1 ]     ;
      SIZE 450,32 PIXEL OF oDlg CASE UPPER UPDATE COLOR CLR_BLACK, METRO_ORANGE

   // Efecto especial:
   @  30, 33 SAY oSay PROMPT " Upper Case :" OF oDlg SIZE 150, 50 PIXEL      ;
      UPDATE COLOR METRO_ORANGE, CLR_BLACK

   @  65, 30 SAY " Lower Case :"  WIDTH 100 GET aGet[ 2 ] VAR aData[ 2 ]     ;
      SIZE 450,32 PIXEL OF oDlg CASE LOWER UPDATE COLOR CLR_BLACK, METRO_ORANGE

   // Efecto especial:
   @  65, 34 SAY oSay PROMPT " Lower Case :" OF oDlg SIZE 150, 50 PIXEL      ;
      UPDATE COLOR METRO_ORANGE, CLR_BLACK

   @ 100, 30 SAY " Proper Case :" WIDTH 100 GET aGet[ 3 ] VAR aData[ 3 ]     ;
      SIZE 450,32 PIXEL OF oDlg CASE PROPER UPDATE COLOR CLR_BLACK, METRO_ORANGE

   // Efecto especial:
   @ 100, 33 SAY oSay PROMPT " Proper Case :" OF oDlg SIZE 150, 50 PIXEL     ;
      UPDATE COLOR METRO_ORANGE, CLR_BLACK

   @ 170, 105 BTNBMP oBtn PROMPT "&Show Vars" SIZE 200, 40 PIXEL OF oDlg FLAT ;
      FILENAME "../bitmaps/mydocs.bmp" LEFT 2007 COLOR CLR_HBLUE, CLR_BLACK     ;
      ACTION ( msginfo( FW_ArrayAsList( aData,,.t. ) ) )

   oBtn:cToolTip := "Show Vars"

   WITH OBJECT oBtn
      :nClrBorder := { |lInvert| If( lInvert, 0x80FFA54A, nARGB( 54, 0, 192, 0 ) ) } // CLR_BLACK //  border color
      :bColorMap  := { || { { CLR_YELLOW, CLR_BLACK } } }  // image color
   END

   oBtn:nRound  := 60

   @ 170, 325 BTNBMP oBtn2 PROMPT "&Exit" SIZE 90, 40 PIXEL OF oDlg FLAT     ;
      FILENAME "../bitmaps/exit.bmp" LEFT 2007 COLOR CLR_HBLUE, CLR_BLACK    ;
      ACTION( ODlg:End() )

   oBtn2:cToolTip := "Exit"
      

   WITH OBJECT oBtn2
      :nClrBorder := { |lInvert| If( lInvert, 0x80FFA54A, nARGB( 54, 0, 192, 0 ) ) } // CLR_BLACK //  border color
      :bColorMap  := { || { { CLR_YELLOW, CLR_BLACK } } }  // image color
   END

   oBtn2:nRound  := 60

   oBtn2:lCancel := .T.

   @ 215, 121 SAY oSay3 PROMPT "@ https://forums.fivetechsupport.com" OF oDlg ;
      SIZE 400, 20 PIXEL UPDATE COLOR CLR_MYCELESTE1, CLR_WHITE

   ACTIVATE DIALOG oDlg CENTERED

   RELEASE FONT oFont

RETURN NIL

// FIN / END

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: FWH 26.03 buscamos betatesters
Posted: Tue Mar 31, 2026 07:30 PM
cmsoft wrote:

Estimado César,

The error is at xbrowse.prg:11307 where oSheet:Rows(1):Font:Bold := .T. fails because :Bold is being resolved to a
_BOLD accessor in your TDolphin export class (tdolpexp.prg) instead of going through OLE dispatch. The first argument
is an array (length 2), not an OLE Font object.

This suggests that oSheet:Rows(1):Font is returning a TDolphin object instead of the Excel OLE Font object. The
TDolphin library you have linked defines a class with a _BOLD method that conflicts with the OLE property resolution.

The safest fix is to wrap the bold formatting in TRY/CATCH since it's cosmetic:

● Update(source\classes\xbrowse.prg)
⎿ Added 3 lines
11304
11305 // Totals, if needed
11306
11307 + TRY
11308 oSheet:Rows( 1 ):Font:Bold := .T.
11309 oSheet:Rows( nRow ):Font:Bold := .T.
11310 + CATCH
11311 + END
11312
11313 if ValType( nGroupBy ) == 'N'
11314 for nxCol := 1 TO Len( aCols )

● This wraps the bold formatting in TRY/CATCH. The export will work but without bold headers/totals if the TDolphin
class conflict occurs.

However, the root cause is in tdolpexp.prg from the TDolphin library - it defines a class whose _BOLD accessor
interferes with OLE dispatch. You could:

  1. Check if you have a newer version of TDolphin that fixes this

  2. Check if tdolpexp.prg defines a class with DATA Bold that somehow gets mixed into the OLE resolution chain

  3. Alternatively, if you don't need TDolphin export functionality, try not linking tdolpexp.prg into your application

    Would you like me to rebuild the hbc32c lib to include this fix?

✻ Churned for 4m 36s

❯ como llegas a la conclusion de que usa TDolphin ?

● Tienes razón, fue una suposición mía. Vi tdolpexp.prg en el stack trace y asumí que "tdolp" = TDolphin, pero no tengo
forma de saberlo. Es un archivo de tu aplicación UNION (.\source\prg\tdolpexp.prg), no de FWH.

Lo que sí es un hecho del error:

  1. oSheet:Rows(1):Font:Bold := .T. en xbrowse.prg:11307 falla

  2. El :Bold se resuelve a _BOLD en tdolpexp.prg (línea 0 = DATA accessor)

  3. El argumento [1] es un array de longitud 2, no un objeto OLE Font

    ¿Qué contiene tu tdolpexp.prg? Eso ayudaría a entender por qué el OLE dispatch de Excel termina en una clase definida
    ahí. Estás usando TDolphin ?

Si, estoy usando TDolphin y exporto con la exportar de Xbrowse de una consulta. Crees que es conveniente que toque el código o vos modificas las librerias?

Modificado en las librerias :wink: :!:

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: FWH 26.03 buscamos betatesters
Posted: Wed Apr 01, 2026 05:36 PM

Maestro Antônio, hay problemas con MsgWait(), no se muestra correctamente.

// C:\FWH2603\SAMPLES\ZEBRAQR2.PRG - ORIGINAL: ZEBRAQR.PRG

#Include "Fivewin.ch"

EXTERNAL HB_LANG_PT, HB_CODEPAGE_PTISO, HB_CODEPAGE_PT850

#ifNdef __XHARBOUR__     // Only HARBOUR.
   REQUEST HB_CODEPAGE_UTF8
   REQUEST HB_CODEPAGE_UTF8EX
#endif

REQUEST FWZEBRA  // required for barcodes

STATIC oWnd

FUNCTION Main()

   LOCAL oSkinB, oBtn, oBtn2, oFont, cTitle, oBrush, oSay

   SET CENTURY ON
   SET DATE BRITISH
   SET TIME FORMAT TO "HH:MM:SS"
   SET EPOCH TO YEAR( DATE() ) - 30
   SET SOFTSEEK OFF
   SET WRAP ON
   SETCANCEL( .F. )
   SET CONFIRM OFF
   SET DELETED ON
   SET _3DLOOK ON
   SET UNIQUE OFF
   SET ESCAPE OFF
   SET EXACT ON
   SET EXCLUSIVE OFF
   SET MULTIPLE OFF
   SET OPTIMIZE ON

   HB_GCALL( .F. )
   HB_LANGSELECT( 'PT' )     // Default language is now Portuguese
   HB_SETCODEPAGE( "PT850" )
   HB_CDPSELECT( "PTISO" )

   SetBalloon( .T. ) // Balloon shape required for tooltips

   oSkinB = TSkinButton():New()
   oSkinB:nClrBorder0_N := RGB( 249, 194, 179 )
   oSkinB:nClrBorder1_N := RGB( 181, 61, 29 )
   oSkinB:aClrNormal    := { { .50, nRGB( 210, 235, 216 ), nRGB( 210, 235, 216 ) } }

   SkinButtons( oSkinB )

   DEFINE BRUSH oBrush GRADIENT { { 0.4, nRGB( 75, 144, 223 ), nRGB( 41, 85, 145 ) },;
                                  { 0.6, nRGB( 24,  61, 118 ), nRGB( 50, 95, 158 ) } }

   cTitle := "GENERAR QRCODE: - ZEBRAQR2.PRG"

   DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 0, -12 BOLD

   DEFINE WINDOW oWnd FROM 1, 1 TO 20, 60 TITLE cTitle BRUSH oBrush

   @ 3, 20 SAY oSay PROMPT "Elige un nombre para tu archivo *.PDF." OF oWnd  ;
      SIZE 250, 14 COLOR METRO_LIME TRANSPARENT ADJUST UPDATE FONT oFont

   @ 5, 20 BUTTON oBtn PROMPT "&Qrcode" OF oWnd SIZE 80, 24                  ;
      ACTION( Generar_QRCode( oBtn2 ) ) FONT oFont

   oBtn:cToolTip := "Generar el QRCODE - Print me"

   @ 5, 40 BUTTON oBtn2 PROMPT "&Exit" OF oWnd SIZE 80, 24 FONT oFont        ;
      ACTION( oWnd:End() )

   oBtn2:cTooltip := "Salida - Exit"

   SET MESSAGE OF oWnd TO "©Kapiaba - www.fivewin.com.br" FONT oFont         ;
       NOINSET CLOCK DATE KEYBOARD COLOR CLR_HBLUE, CLR_WHITE 2007

   oWnd:SetFont( oFont )

   ACTIVATE WINDOW oWnd CENTERED

   HB_GCALL( .T. )

   oBrush:End()
   oFont:End()

RETURN NIL

FUNCTION Generar_QRCode( oBtn2  )

   LOCAL oPrn, cText := "Texto a QR"

   // Directo, pide para grabar.
   PRINT oPrn // PREVIEW MODAL - Grabar via preview.

  PAGE

     @ 2,2 PRINT TO oPrn TEXT cText AS BARCODE TYPE "QR" SIZE 2,2 INCHES

  ENDPAGE

  // Maestro, MsgWait no muestra mensageria correctamente.
  MsgWait( "Generando el archivo *.PDF...", ;
           "Por favor, espere un momento.", 5.5 )

   ENDPRINT

   // como pegar el nombre del .pdf? I dont no. jajaja. VIA ZEBRA?
   // MsgInfo( "¡Código QR generado correctamente!", "Atención!" )

   XFOCUS( oBtn2 )

RETURN NIL

FUNCTION xFocus( oObj )

   xSetFocus( oObj )
   xSetFocus( oObj )

RETURN( .T. )

FUNCTION xSetFocus( oObj )    

   LOCAL _oWnd := oObj:oWnd, _oTempo := ""

   DEFINE TIMER _oTempo INTERVAL 10 OF _oWnd ;
      ACTION ( oObj:SetFocus(), _oTempo:End() )

   ACTIVATE TIMER _oTempo

RETURN( .T. )

// FIN / END

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: FWH 26.03 buscamos betatesters
Posted: Wed Apr 01, 2026 06:07 PM
karinha wrote:

Maestro Antônio, hay problemas con MsgWait(), no se muestra correctamente.

// C:\FWH2603\SAMPLES\ZEBRAQR2.PRG - ORIGINAL: ZEBRAQR.PRG

#Include "Fivewin.ch"

EXTERNAL HB_LANG_PT, HB_CODEPAGE_PTISO, HB_CODEPAGE_PT850

#ifNdef __XHARBOUR__     // Only HARBOUR.
   REQUEST HB_CODEPAGE_UTF8
   REQUEST HB_CODEPAGE_UTF8EX
#endif

REQUEST FWZEBRA  // required for barcodes

STATIC oWnd

FUNCTION Main()

   LOCAL oSkinB, oBtn, oBtn2, oFont, cTitle, oBrush, oSay

   SET CENTURY ON
   SET DATE BRITISH
   SET TIME FORMAT TO "HH:MM:SS"
   SET EPOCH TO YEAR( DATE() ) - 30
   SET SOFTSEEK OFF
   SET WRAP ON
   SETCANCEL( .F. )
   SET CONFIRM OFF
   SET DELETED ON
   SET _3DLOOK ON
   SET UNIQUE OFF
   SET ESCAPE OFF
   SET EXACT ON
   SET EXCLUSIVE OFF
   SET MULTIPLE OFF
   SET OPTIMIZE ON

   HB_GCALL( .F. )
   HB_LANGSELECT( 'PT' )     // Default language is now Portuguese
   HB_SETCODEPAGE( "PT850" )
   HB_CDPSELECT( "PTISO" )

   SetBalloon( .T. ) // Balloon shape required for tooltips

   oSkinB = TSkinButton():New()
   oSkinB:nClrBorder0_N := RGB( 249, 194, 179 )
   oSkinB:nClrBorder1_N := RGB( 181, 61, 29 )
   oSkinB:aClrNormal    := { { .50, nRGB( 210, 235, 216 ), nRGB( 210, 235, 216 ) } }

   SkinButtons( oSkinB )

   DEFINE BRUSH oBrush GRADIENT { { 0.4, nRGB( 75, 144, 223 ), nRGB( 41, 85, 145 ) },;
                                  { 0.6, nRGB( 24,  61, 118 ), nRGB( 50, 95, 158 ) } }

   cTitle := "GENERAR QRCODE: - ZEBRAQR2.PRG"

   DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 0, -12 BOLD

   DEFINE WINDOW oWnd FROM 1, 1 TO 20, 60 TITLE cTitle BRUSH oBrush

   @ 3, 20 SAY oSay PROMPT "Elige un nombre para tu archivo *.PDF." OF oWnd  ;
      SIZE 250, 14 COLOR METRO_LIME TRANSPARENT ADJUST UPDATE FONT oFont

   @ 5, 20 BUTTON oBtn PROMPT "&Qrcode" OF oWnd SIZE 80, 24                  ;
      ACTION( Generar_QRCode( oBtn2 ) ) FONT oFont

   oBtn:cToolTip := "Generar el QRCODE - Print me"

   @ 5, 40 BUTTON oBtn2 PROMPT "&Exit" OF oWnd SIZE 80, 24 FONT oFont        ;
      ACTION( oWnd:End() )

   oBtn2:cTooltip := "Salida - Exit"

   SET MESSAGE OF oWnd TO "©Kapiaba - www.fivewin.com.br" FONT oFont         ;
       NOINSET CLOCK DATE KEYBOARD COLOR CLR_HBLUE, CLR_WHITE 2007

   oWnd:SetFont( oFont )

   ACTIVATE WINDOW oWnd CENTERED

   HB_GCALL( .T. )

   oBrush:End()
   oFont:End()

RETURN NIL

FUNCTION Generar_QRCode( oBtn2  )

   LOCAL oPrn, cText := "Texto a QR"

   // Directo, pide para grabar.
   PRINT oPrn // PREVIEW MODAL - Grabar via preview.

  PAGE

     @ 2,2 PRINT TO oPrn TEXT cText AS BARCODE TYPE "QR" SIZE 2,2 INCHES

  ENDPAGE

  // Maestro, MsgWait no muestra mensageria correctamente.
  MsgWait( "Generando el archivo *.PDF...", ;
           "Por favor, espere un momento.", 5.5 )

   ENDPRINT

   // como pegar el nombre del .pdf? I dont no. jajaja. VIA ZEBRA?
   // MsgInfo( "¡Código QR generado correctamente!", "Atención!" )

   XFOCUS( oBtn2 )

RETURN NIL

FUNCTION xFocus( oObj )

   xSetFocus( oObj )
   xSetFocus( oObj )

RETURN( .T. )

FUNCTION xSetFocus( oObj )    

   LOCAL _oWnd := oObj:oWnd, _oTempo := ""

   DEFINE TIMER _oTempo INTERVAL 10 OF _oWnd ;
      ACTION ( oObj:SetFocus(), _oTempo:End() )

   ACTIVATE TIMER _oTempo

RETURN( .T. )

// FIN / END

Regards, saludos.

MsgWait() está funcionando bien, al final aparece un error relacionado con lMeta. Revisándolo...

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: FWH 26.03 buscamos betatesters
Posted: Wed Apr 01, 2026 06:17 PM

Fixed!

Muchas gracias Joao :wink: :!:

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: FWH 26.03 buscamos betatesters
Posted: Wed Apr 01, 2026 06:52 PM

C:\FWH2603\SAMPLES\testmsg3.prg -> Build 9

Application
===========
   Path and name: C:\FWH2603\samples\testmsg3.exe (32 bits)
   Size: 5,029,888 bytes
   Compiler version: xHarbour 1.3.2 Intl. (SimpLex) (Build 20260103)
   FiveWin version: FWH 26.03
   C compiler version: Borland/Embarcadero C++ 7.7 (32-bit)
   Windows 11 64 Bits, version: 6.2, Build 9200 

   Time from start: 48 sec
   Error occurred at: 04/01/26, 15:47:10
   Error description: Warning BASE/1004  Message not found: TMSGBAR:AITEM

Stack Calls
===========
   Called from: source\rtl\tobject.prg => TMSGBAR:ERROR( 0 )
   Called from: source\rtl\tobject.prg => TMSGBAR:MSGNOTFOUND( 0 )
   Called from: source\rtl\tobject.prg => TMSGBAR:AITEM( 0 )
   Called from: testmsg3.prg => CHGFONT( 229 )
   Called from: testmsg3.prg => (b)WNDEDIT( 256 )
   Called from: source\classes\btnbmp.prg => TBTNBMP:CLICK( 820 )
   Called from: source\classes\btnbmp.prg => TBTNBMP:LBUTTONUP( 1107 )
   Called from: source\classes\control.prg => TCONTROL:HANDLEEVENT( 1896 )
   Called from: source\classes\btnbmp.prg => TBTNBMP:HANDLEEVENT( 2150 )
   Called from: source\classes\window.prg => _FWH( 1076 )
   Called from:  => WINRUN( 0 )
   Called from: source\classes\window.prg => TMDIFRAME:ACTIVATE( 1205 )
   Called from: testmsg3.prg => MAIN( 97 )

Soy terrible, te lo aseguro... jajaja

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: FWH 26.03 buscamos betatesters
Posted: Wed Apr 01, 2026 07:08 PM

MsgWait() es correcto, cometí un error. Algo me confundió. Mis disculpas.

// C:\FWH2603\SAMPLES\TESTMSG4.PRG

#include "FiveWin.ch"

extern Set

FUNCTION Main()

   MsgWait( "Hello world. This is a waiting message!" )

   MsgWait( "Generando el archivo *.PDF...", ;
            "Por favor, espere un momento.", 5.5 )

RETURN NIL

// FIN / END

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341