Message not found TFolder:TDialog in FWH 2026.03 and the same error in 2026.06
I'am using xHB com , xHarbour 1.2.3 Intl. (SimpLex) (Build 20190614)
best regard
KAJOT
Message not found TFolder:TDialog in FWH 2026.03 and the same error in 2026.06
I'am using xHB com , xHarbour 1.2.3 Intl. (SimpLex) (Build 20190614)
best regard
KAJOT
Dear Kajot,
- Fixed: TFolder crash "Message not found: TFOLDER:TDIALOG" with xHarbour
xHarbour resolves ::Super based on the last CLASS..FROM seen in the file.
TFolder:SetColor and SetDarkMode were defined after CLASS TFolderDialog
FROM TDialog, so ::Super resolved to TDialog instead of TControl.
Moved those methods before the TFolderDialog class definition.
Also fixed deferred page creation: TFolder:New() now creates TFolderDialog
pages even when parent hWnd is 0 (DEFINE DIALOG), so controls defined
between DEFINE/ACTIVATE attach to the correct folder page.
You need an updated FWH build
I downloaded an FWH v.2026.06 once again
and
error is still
testfld2.prg
// Two folders at a time! Wow!
// New, much, much simpler!!!
#include "FiveWin.ch"
#include "Folder.ch"
//----------------------------------------------------------------------------//
function Main()
local oDlg, oFld1, oFld2
local cItem
SET _3DLOOK ON
DEFINE DIALOG oDlg RESOURCE "Test"
REDEFINE FOLDER oFld1 ID 110 OF oDlg ;
PROMPT "&Clipper", "&and", "&Windows", "&Magic" ;
DIALOGS "Sub1", "Sub2"
REDEFINE COMBOBOX cItem ITEMS { "One", "Two", "Three" } ;
ID 105 OF oFld1:aDialogs[ 1 ]
REDEFINE BUTTON ID 110 OF oFld1:aDialogs[ 1 ] ; // Redefining a child
ACTION MsgInfo( "First Page" ) // control !!!
REDEFINE BUTTON ID 104 OF oFld1:aDialogs[ 2 ] ; // Redefining a child
ACTION MsgInfo( "Second Page" ) // control !!!
REDEFINE FOLDER oFld2 ID 120 OF oDlg ;
PROMPT "&The", "&beauty", "&and power", "&of xBase" ;
DIALOGS "The", "Beauty"
oDlg:aControls[ 2 ]:aDialogs[ 1 ]:bRClicked = ;
{ || MsgInfo( oDlg:aControls[ 2 ]:aDialogs[ 1 ]:hWnd ) }
ACTIVATE DIALOG oDlg CENTERED
return nil
procedure AppSys // XBase++ requirement
return
//----------------------------------------------------------------------------//
error.log
ApplicationPath and name: S:\Samples_2026\TFOLDER\testfld2.exe (32 bits)
Size: 4,222,976 bytes
Compiler version: xHarbour 1.2.3 Intl. (SimpLex) (Build 20190614)
FiveWin version: FWH 26.03
C compiler version: Pelles ISO C Compiler 3.0 (32-bit)
Windows 11 64 Bits, version: 6.2, Build 9200
Time from start: 0 sec
Error occurred at: 06/20/26, 15:00:25
Error description: Warning BASE/1004 Message not found: TFOLDER:TDIALOG
Called from: \xharbour\source\rtl\tobject.prg => TFOLDER:ERROR( 174 )
Called from: \xharbour\source\rtl\tobject.prg => TFOLDER:MSGNOTFOUND( 208 )
Called from: \xharbour\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: testfld2.prg => MAIN( 21 )
CPU type: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz 1800 Mhz
Hardware memory: 1 megs
Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %
Windows total applications running: 1
1 ,
Procedure Type Value
==========================TFOLDER:ERROR
Param 1: C "Message not found"
Param 2: C "TFOLDER"
Param 3: C "TDIALOG"
Param 4: N 1004
Local 1: U
Local 2: O Class: TFOLDER
Local 3: N 13
TFOLDER:MSGNOTFOUND
Param 1: C "TDIALOG"
Local 1: O Class: TFOLDER
TFOLDER:TDIALOG
TFOLDER:SETCOLOR
Param 1: N 0
Param 2: N 15790320
Local 1: U
Local 2: O Class: TFOLDER
Local 3: U
Local 4: U
TFOLDER:REDEFINE
Param 1: N 110
Param 2: A Len: 4
Param 3: A Len: 2
Param 4: O Class: TDIALOG
Param 5: N 1
Param 6: N 0
Param 7: N 15790320
Param 8: U
Param 9: L .F.
Param 10: A Len: 4
Local 1: O Class: TFOLDER
Local 2: U
Local 3: U
MAIN
Local 1: O Class: TDIALOG
Local 2: U
Local 3: U
Local 4: U
DBF
DBFFPT
DBFCDX
DBFNTX
DBFBLOB
1 ERROR
2 HASHENTRY
3 HBCLASS
4 HBOBJECT
5 TWINDOW
6 TDIALOG
7 TBRUSH
8 TCONTROL
9 TFOLDER
10 TFONT
11 TREG32
12 TSTRUCT
733 Static variables
Dynamic memory consume:
Actual Value: 0 bytes
Highest Value: 0 bytes
HARBOUR & XHARBOUR Master Antônio.
Code: Select all | Expand
Application
===========
Path and name: C:\FWH2603\samples\testfld2.exe (32 bits)
Size: 5,924,864 bytes
Compiler version: Harbour 3.2.0dev (r2602281433)
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: 0 sec
Error occurred at: 06/20/26, 12:24:49
Error description: Error BASE/1004 No exported method: MOVE
Args:
[ 1] = U
[ 2] = N 24
[ 3] = N 2
Stack Calls
===========
Called from: => MOVE( 0 )
Called from: source\classes\folder.prg => (b)TFOLDER_ADJUSTRECT( 1208 )
Called from: => AEVAL( 0 )
Called from: source\classes\folder.prg => TFOLDER:ADJUSTRECT( 1208 )
Called from: source\classes\folder.prg => TFOLDER:INITIATE( 377 )
Called from: => __OBJSENDMSG( 0 )
Called from: source\function\harbour.prg => OSEND( 296 )
Called from: source\function\harbour.prg => ASEND( 264 )
Called from: source\classes\dialog.prg => TDIALOG:INITIATE( 933 )
Called from: source\classes\dialog.prg => TDIALOG:HANDLEEVENT( 1274 )
Called from: => DIALOGBOX( 0 )
Called from: source\classes\dialog.prg => TDIALOG:ACTIVATE( 338 )
Called from: testfld2.prg => MAIN( 39 )
Regards, saludos.
Fix: Error BASE/1004 "No exported method: MOVE" en TFolder
El método AdjustRect() en source/classes/folder.prg intentaba llamar oDlg:Move() sobre elementos de ::aDialogs sin verificar si algún elemento es NIL.
Esto causaba un error fatal al iniciar un TFolder cuando el array ::aDialogs contenía entradas NIL (lo cual puede ocurrir normalmente según el flujo de inicialización).
Cambio: Se agregó una verificación de NIL tanto para ::aDialogs[1] antes de acceder a :nTop, como para cada oDlg dentro del AEval. Esto es consistente con el patrón ya usado en otros métodos de la misma clase (ej. línea 371).
Antonio Linares wrote: Mon Jun 22, 2026 4:39 amFix: Error BASE/1004 "No exported method: MOVE" en TFolder
El método AdjustRect() en source/classes/folder.prg intentaba llamar oDlg:Move() sobre elementos de ::aDialogs sin verificar si algún elemento es NIL.
Esto causaba un error fatal al iniciar un TFolder cuando el array ::aDialogs contenía entradas NIL (lo cual puede ocurrir normalmente según el flujo de inicialización).
Cambio: Se agregó una verificación de NIL tanto para ::aDialogs[1] antes de acceder a :nTop, como para cada oDlg dentro del AEval. Esto es consistente con el patrón ya usado en otros métodos de la misma clase (ej. línea 371).
Para mí, no supone ningún problema, ya que no he usado FOLDER durante muchos años. Actualmente solo utilizo el potente FOLDEREX, que funciona a la perfección.
Gracias, tks.
Regards, saludos.