Page 2 of 6
Re: FWH 26.03 betatesters wanted
Posted: Wed Mar 25, 2026 5:43 pm
by alerchster
Language german,
BCC77064 compile, message is ok
MSVC32 compile, message is ok
MSVC64 compile, message is not ok
fwstring() for MSVC64bit seems not good for öäü..
msg_fwstring.prg
Code: Select all | Expand
// Typical exit message, from Windows!
#include "FiveWin.ch"
//----------------------------------------------------------------------------//
function Main()
FWSetLanguage( 5 ) // 1 english, 2 spanish, 3 french, 5 german, 6 italian
MsgYesNo( fwstring("Want to End ?" ) )
return nil
//----------------------------------------------------------------------------//
Re: FWH 26.03 betatesters wanted
Posted: Wed Mar 25, 2026 5:50 pm
by alerchster
fivedbu.prg
sprintf should be changed to sprintf_s
change code after line 364 with claude's answer
Code: Select all | Expand
#pragma BEGINDUMP
#include <windows.h>
#include <hbapi.h>
HB_FUNC( FW_EXITPROCESS ) { ExitProcess( 0 ); }
HB_FUNC( CCOMPILER )
{
#ifdef __clang__
hb_retc( "LLVM/Clang " __clang_version__ );
#elif defined( __GNUC__ )
hb_retc( "GCC " __VERSION__ );
#elif defined( _MSC_VER )
char buf[ 32 ];
sprintf_s( buf, sizeof( buf ), "MSVC %d", _MSC_VER );
hb_retc( buf );
#elif defined( __BORLANDC__ )
char buf[ 32 ];
sprintf_s( buf, sizeof( buf ), "BCC 0x%04X", __BORLANDC__ );
hb_retc( buf );
#else
hb_retc( "Unknown" );
#endif
}
#pragma ENDDUMP
Re: FWH 26.03 betatesters wanted
Posted: Wed Mar 25, 2026 8:45 pm
by Antonio Linares
Dear Anton,
Do you have Claude code ? If not I strongly advise you to use it
You won't believe how powerful it is until you use it. It will change your programming experience for ever

Using Claude code now every Harbour and FWH user becomes a truly engineer to enhance our platform! 
Re: FWH 26.03 betatesters wanted
Posted: Wed Mar 25, 2026 9:01 pm
by Antonio Linares
alerchster wrote: Wed Mar 25, 2026 5:50 pm
fivedbu.prg
sprintf should be changed to sprintf_s
change code after line 364 with claude's answer
Code: Select all | Expand
#pragma BEGINDUMP
#include <windows.h>
#include <hbapi.h>
HB_FUNC( FW_EXITPROCESS ) { ExitProcess( 0 ); }
HB_FUNC( CCOMPILER )
{
#ifdef __clang__
hb_retc( "LLVM/Clang " __clang_version__ );
#elif defined( __GNUC__ )
hb_retc( "GCC " __VERSION__ );
#elif defined( _MSC_VER )
char buf[ 32 ];
sprintf_s( buf, sizeof( buf ), "MSVC %d", _MSC_VER );
hb_retc( buf );
#elif defined( __BORLANDC__ )
char buf[ 32 ];
sprintf_s( buf, sizeof( buf ), "BCC 0x%04X", __BORLANDC__ );
hb_retc( buf );
#else
hb_retc( "Unknown" );
#endif
}
#pragma ENDDUMP
Dear Anton,
Claude code analysis:
We don't need sprintf_s here because:
The buffer is 32 bytes and the output is at most 15 characters (e.g. "MSVC 1943", "BCC 0x0770"). There is zero
overflow risk.
Technical reasons to avoid it:
Portability: sprintf_s is a Microsoft extension (Annex K of C11, which is optional). BCC32, GCC, and Clang on
Windows don't implement it — the code won't compile on 4 of our 6 target compilers.
No safety gain: sprintf_s guards against buffer overruns by taking sizeof(buf) as a parameter. When the format
string is a fixed literal with a single %d or %04X and the buffer is 2x larger than needed, the check adds nothing.
sprintf is standard C89: works on every compiler we support (BCC32, BCC32C/Clang, MSVC32, MSVC64, GCC32, GCC64).
Bottom line: use sprintf for cross-compiler compatibility. Reserve sprintf_s for cases where the format string or data
comes from user input and the buffer size is tight.
Re: FWH 26.03 betatesters wanted
Posted: Wed Mar 25, 2026 9:43 pm
by alerchster
Dear Antonio,
Yes, I've been using Claude since December, first with the Pro plan and now with the Max plan. It's a fantastic tool and, as you've already mentioned, it transforms development from a programmer to an architect. It brought my local Ubuntu server online via Cloudflare and set up several dynamic websites for me with 2FA via email and then with Microsoft Authenticator, etc., using PHP and a MySQL database. It did require some tweaks, but it led to a positive result very quickly.
When compiling FiveDBU, I got a warning with MSVC that sprintf was insecure and should be replaced with sprintf_s. I then had Claude rewrite that part of the code to sprintf_s, and that was the result. I agree with you, it was just a warning and didn't affect the functionality in this case. 
Re: FWH 26.03 betatesters wanted
Posted: Wed Mar 25, 2026 10:45 pm
by Antonio Linares
There is a new FWH 26.03 beta ready
Please ask for it on whatsapp, thank you

Re: FWH 26.03 betatesters wanted
Posted: Thu Mar 26, 2026 8:25 am
by Enrico Maria Giordano
Re: FWH 26.03 betatesters wanted
Posted: Thu Mar 26, 2026 10:30 am
by toninhofwi
Hi Mr Antonio,
Everything seems to be fine.
Some of the classes I customized had different function names—for example:
xChangeProc() is now xxChangeProc() — but I’ve already fixed that.
Is it just me, or does everything seem faster and smoother?
Anyway, congratulations on the great work.
I’ll get organized and send you the 170 euros for the product — it’s worth every penny.

Re: FWH 26.03 betatesters wanted
Posted: Thu Mar 26, 2026 11:34 am
by NWKL
Re: FWH 26.03 betatesters wanted
Posted: Thu Mar 26, 2026 11:56 am
by Antonio Linares
Please send a whatsapp to +34 722461100

Re: FWH 26.03 betatesters wanted
Posted: Thu Mar 26, 2026 12:46 pm
by richard-service
Dear Antonio,
Please Look it.
I use New version Chinese input way, but not work
But I use Old version Chinese input way. It's working.

Re: FWH 26.03 betatesters wanted
Posted: Thu Mar 26, 2026 4:15 pm
by alerchster
fivedbu.prg
compiled with BCC770 32 Bit runs OK
compiled with MSVC 32 and 64 Bit some Dialogs will not be shown
example: "Setup" "Preferences", Buttonbar "Search" and many more
fwstring with german "öäü" is now ok
Re: FWH 26.03 betatesters wanted
Posted: Thu Mar 26, 2026 4:28 pm
by Antonio Linares
richard-service wrote: Thu Mar 26, 2026 12:46 pm
Dear Antonio,
Please Look it.
I use New version Chinese input way, but not work
But I use Old version Chinese input way. It's working.

Please check your email, thanks
Re: FWH 26.03 betatesters wanted
Posted: Thu Mar 26, 2026 5:14 pm
by richard-service
Antonio Linares wrote: Thu Mar 26, 2026 4:28 pm
richard-service wrote: Thu Mar 26, 2026 12:46 pm
Dear Antonio,
Please Look it.
I use New version Chinese input way, but not work
But I use Old version Chinese input way. It's working.

Please check your email, thanks
Ok. I got it. and Check solution it.
Re: FWH 26.03 betatesters wanted
Posted: Thu Mar 26, 2026 6:47 pm
by carlos vargas
la compilación codicional para bcc32c de Borland es:
#if defined(BORLANDC) && defined(clang) && defined(WIN32) && !defined(WIN64)
// Your code.
#endif
y esta es para bcc64:
#if defined(BORLANDC) && defined(clang) && defined(_WIN64)
// Your code.
#endif