Message not found TFolder:TDialog

Post Reply
User avatar
kajot
Posts: 375
Joined: Thu Nov 02, 2006 6:53 pm
Location: Poland

Message not found TFolder:TDialog

Post by 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

best regards
kajot
User avatar
Antonio Linares
Site Admin
Posts: 44515
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Message not found TFolder:TDialog

Post by Antonio Linares »

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 👍🏻

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
kajot
Posts: 375
Joined: Thu Nov 02, 2006 6:53 pm
Location: Poland

Re: Message not found TFolder:TDialog

Post by kajot »

I downloaded an FWH v.2026.06 once again
and
error is still

best regards
kajot
User avatar
Antonio Linares
Site Admin
Posts: 44515
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Message not found TFolder:TDialog

Post by Antonio Linares »

Please provide us a small PRG to check it

many thanks

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
kajot
Posts: 375
Joined: Thu Nov 02, 2006 6:53 pm
Location: Poland

Re: Message not found TFolder:TDialog

Post by kajot »

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

Application

Path 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

Stack Calls

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 )

System

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 ,

Variables in use

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

Linked RDDs

DBF
DBFFPT
DBFCDX
DBFNTX
DBFBLOB

DataBases in use Classes in use:

1 ERROR
2 HASHENTRY
3 HBCLASS
4 HBOBJECT
5 TWINDOW
6 TDIALOG
7 TBRUSH
8 TCONTROL
9 TFOLDER
10 TFONT
11 TREG32
12 TSTRUCT

Memory Analysis

733 Static variables

Dynamic memory consume:
Actual Value: 0 bytes
Highest Value: 0 bytes

best regards
kajot
User avatar
karinha
Posts: 8720
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Message not found TFolder:TDialog

Post by karinha »

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.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
Antonio Linares
Site Admin
Posts: 44515
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Message not found TFolder:TDialog

Post by Antonio Linares »

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).

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
karinha
Posts: 8720
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Message not found TFolder:TDialog

Post by karinha »

Antonio Linares wrote: Mon Jun 22, 2026 4:39 am

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).

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.

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