sorry about if this is in a wrong section of the forum but,... i just recently pressed "F5" to test run a project & got an error saying "invalid defined compiler path" & it shows an incomplete string of a path below that. i'm not really sure how to fix this..... any ideas folks? possibly?
one thing i should mention about this .... just an hour ago i encountered this error. 18 hours ago it seemed to compile just fine with no errors... i don't get what happened between then & just when the error appeared....
When you go into "Compiler Setup", do you have any line selected like in the attached screenshot?
looking @the image ... i see that you have the freebasic-1.10.0-winlibs-gcc-9.3.0 version selected.... the only item i have in that toolchain area is the "freebasic-1.09.0-winlibs-gcc-9.3.0".... i gathered by that i should update my copy of winFBE ??? i get the idea maybe that might be my issue ?
Quote from: veltesian on February 20, 2024, 06:29:57 AMlooking @the image ... i see that you have the freebasic-1.10.0-winlibs-gcc-9.3.0 version selected.... the only item i have in that toolchain area is the "freebasic-1.09.0-winlibs-gcc-9.3.0".... i gathered by that i should update my copy of winFBE ??? i get the idea maybe that might be my issue ?
Not really. You should be able to select any of the toolchains in the list to use for your project. Your 1.09 toolchain should work.
Are you using the 3.1.0 version of WinFBE Editor Suite?
https://github.com/PaulSquires/WinFBE/releases
i just downloaded the version 3.1.0 & installed it [overwriting] the older system files within my winFBE folder.
after doing that, i tried to F5 an open project & it still gives me the same error.....
Hello veltesian
... and what happens if you uninstall the older version correctly, delete all remnants and then completely reinstall the current version?
So far it looks as if any existing errors in the setting(s) have been overwritten.
Of course, you should first make a backup of your projects or the source code. ;)
I looked at the WinFBE source to see where that "invalid compiler path" error is triggered. It uses the compiler path as retrieved from your \Settings\WinFBE.ini file.
Here is a snippet from my ini file:
[Compiler]
FBWINCompiler32={CURDRIVE}:\PSS121\FB\WinFBE_Suite-Editor\Toolchains\FreeBASIC-1.10.0-winlibs-gcc-9.3.0\fbc32.exe
FBWINCompiler64={CURDRIVE}:\PSS121\FB\WinFBE_Suite-Editor\Toolchains\FreeBASIC-1.10.0-winlibs-gcc-9.3.0\fbc64.exe
CompilerBuild={DE391FE6-83AE-4FE6-B314-699CB195B809}
CompilerSwitches=
CompilerHelpfile={CURDRIVE}:\PSS121\FB\WinFBE_Suite-Editor\Help\freebasic_manual.chm
WinFBXHelpfile=
RunViaCommandWindow=0
DisableCompileBeep=0
WinFBXPath=
Take a look at your ini file to make sure that there are entries there for FBWINCompiler64
Have you moved your project to a different computer location at any time before you started to see the error?
Where is your WinFBE installed? What is the file path? Are there any spaces in the file path?
Is your WinFBE installation is a write protected area of your computer like \Program Files ?
my *.ini is as folllows:
[Compiler]
FBWINCompiler32={CURDRIVE}:\WinFBE_Suite\Toolchains\FreeBASIC-1.10.0-winlibs-gcc-9.3.0\fbc32.exe
FBWINCompiler64={CURDRIVE}:\WinFBE_Suite\Toolchains\FreeBASIC-1.10.0-winlibs-gcc-9.3.0\fbc64.exe
CompilerBuild=
CompilerSwitches=
CompilerHelpfile={CURDRIVE}:\WinFBE_Suite\Help\freebasic_manual.chm
WinFBXHelpfile=
RunViaCommandWindow=0
DisableCompileBeep=0
WinFBXPath=
paul: Have you moved your project to a different computer location at any time before you started to see the error?
No i have not...
paul: Where is your WinFBE installed? What is the file path? Are there any...
A:\WinFBE_Suite <----- [flash drive location directly connected]
Thanks for the reply. I appreciate it.
I need to think of why this error would happen in your situation.
During compilation, the {CURDRIVE} macro "should" get converted to A in your case. I have a feeling that it may not be for some reason.
As a test, is it possible for you to copy your USB to the "C" drive and run it from there? If it runs from the C drive then the CURDRIVE macro is probably the problem and I will work to correct that with you.
I regularly run WinFBE from externally attached USB hard drives so I am not 100% confident that the CURDRIVE macro is the problem, but I've been wrong before and I'm sure that I'll be wrong again. ;D
It is also a little odd that your CompilerBuild ini is empty. Maybe also try hitting F7 when your project is loaded and select one of the various build setups. This may have nothing to do with your problem at all but you never know.
ok .... i pressed F7 to view the panel called "build configurations" & noticed the "set as default" box was not checked.
i checked that box while a project was open, then pressed ok. the build config window disappeared & finally my F5 press works as it previously did... thanks to paul & others who gave me the ability to get thru this.
thanks ever so much.
This is great news and I am relieved that the problem is fixed and you are back to F5 happiness once again!
MONTHDAYSTATE
The MONTHDAYSTATE data type is a bitfield that holds the state of each day in a month. The data type is defined in Commctrl.h as follows:
typedef DWORD MONTHDAYSTATE, *LPMONTHDAYSTATE;
Each bit (0 through 30) represents the state of a day in a month. If a bit is on, the corresponding day will be displayed in bold; otherwise it will be displayed with no emphasis.
This data type is used with the MCM_SETDAYSTATE message and the corresponding macro, MonthCal_SetDayState. When MONTHDAYSTATE values are used in reference to months shorter than 31 days, only the needed bits will be accessed.
This data type was first defined in Version 4.70 of Comctl32.dll.
See: https://learn.microsoft.com/en-us/windows/win32/controls/monthdaystate
Usage example with my AfxNova framework:
' ########################################################################################
' Microsoft Windows
' File: CW_MonthValendar_MonthDayState.bas
' Contents: CWindow - Month calendar - Month day state
' Compiler: FreeBasic 32 & 64 bit
' Copyright (c) 2025 José Roca. Freeware. Use at your own risk.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#define UNICODE
#INCLUDE ONCE "AfxNova/CWindow.inc"
' // MCN_GETDAYSTATE is wrongly defined in the FreeBasic headers
#undef MCN_GETDAYSTATE
#define MCN_GETDAYSTATE culng(-747)
USING AfxNova
DECLARE FUNCTION wWinMain (BYVAL hInstance AS HINSTANCE, _
BYVAL hPrevInstance AS HINSTANCE, _
BYVAL pwszCmdLine AS WSTRING PTR, _
BYVAL nCmdShow AS LONG) AS LONG
END wWinMain(GetModuleHandleW(NULL), NULL, wCommand(), SW_NORMAL)
' // Forward declaration
DECLARE FUNCTION WndProc (BYVAL hwnd AS HWND, BYVAL uMsg AS UINT, BYVAL wParam AS WPARAM, BYVAL lParam AS LPARAM) AS LRESULT
CONST IDC_MONTHCAL = 1001
#define BOLDDAY(ds, iDay) ds = ds OR (1 SHL (iDay - 1))
' ========================================================================================
' Main
' ========================================================================================
FUNCTION wWinMain (BYVAL hInstance AS HINSTANCE, _
BYVAL hPrevInstance AS HINSTANCE, _
BYVAL pwszCmdLine AS WSTRING PTR, _
BYVAL nCmdShow AS LONG) AS LONG
' // Set process DPI aware
SetProcessDpiAwareness(PROCESS_SYSTEM_DPI_AWARE)
' // Enable visual styles without including a manifest file
AfxEnableVisualStyles
' // Creates the main window
DIM pWindow AS CWindow = "MyClassName" ' Use the name you wish
DIM hWin AS HWND = pWindow.Create(NULL, "CWindow - Month calendar", @WndProc)
' // Sizes it by setting the wanted width and height of its client area
pWindow.SetClientSize(400, 220)
' // Centers the window
pWindow.Center
' // Adds the control
pWindow.AddControl("SysMonthCal32", hWin, IDC_MONTHCAL, "", _
10, 10, pWindow.ClientWidth - 20, pWindow.ClientHeight - 20, WS_VISIBLE OR WS_TABSTOP OR MCS_DAYSTATE)
' // Anchors the control
pWindow.AnchorControl(IDC_MONTHCAL, AFX_ANCHOR_HEIGHT_WIDTH)
' // Displays the window and dispatches the Windows messages
FUNCTION = pWindow.DoEvents(nCmdShow)
END FUNCTION
' ========================================================================================
' ========================================================================================
' Main window procedure
' ========================================================================================
FUNCTION WndProc (BYVAL hwnd AS HWND, BYVAL uMsg AS UINT, BYVAL wParam AS WPARAM, BYVAL lParam AS LPARAM) AS LRESULT
' Array to hold day states
STATIC rgDayState(11) AS MONTHDAYSTATE
SELECT CASE uMsg
' // If an application processes this message, it should return zero to continue
' // creation of the window. If the application returns –1, the window is destroyed
' // and the CreateWindowExW function returns a NULL handle.
CASE WM_CREATE
AfxEnableDarkModeForWindow(hwnd)
RETURN 0
' // Theme has changed
CASE WM_THEMECHANGED
AfxEnableDarkModeForWindow(hwnd)
RETURN 0
' // Sent when the user selects a command item from a menu, when a control sends a
' // notification message to its parent window, or when an accelerator keystroke is translated.
CASE WM_COMMAND
SELECT CASE CBCTL(wParam, lParam)
CASE IDCANCEL
' // If ESC key pressed, close the application by sending an WM_CLOSE message
IF CBCTLMSG(wParam, lParam) = BN_CLICKED THEN SendMessageW(hwnd, WM_CLOSE, 0, 0)
END SELECT
RETURN 0
CASE WM_NOTIFY
' // Process notification messages
DIM ptnmsc AS NMSELCHANGE PTR = CAST(NMSELCHANGE PTR, lParam)
' // Get selected date
IF ptnmsc->nmhdr.code = MCN_SELCHANGE THEN
DIM wszDate AS WSTRING * 260
wszDate = "Day: " & WSTR(ptnmsc->stSelStart.wDay) & " " & _
"Month: " & WSTR(ptnmsc->stSelStart.wMonth) & " " & _
"Year: " & WSTR(ptnmsc->stSelStart.wYear)
SendMessageW hwnd, WM_SETTEXT, 0, CAST(LPARAM, @wszDate)
' Note: Don't use MessageBox here or you will get non-stop messages!
EXIT FUNCTION
END IF
' // Set the day state
DIM pnmhdr AS LPNMHDR = CAST(LPNMHDR, lParam)
IF pnmhdr->code = MCN_GETDAYSTATE THEN
DIM pDayState AS LPNMDAYSTATE = CAST(LPNMDAYSTATE, lParam)
FOR i AS INTEGER = 0 TO pDayState->cDayState - 1
rgDayState(i) = 0
BOLDDAY(rgDayState(i), 1)
BOLDDAY(rgDayState(i), 15)
NEXT
pDayState->prgDayState = @rgDayState(0)
RETURN TRUE
END IF
CASE WM_DESTROY
' // End the application by sending an WM_QUIT message
PostQuitMessage(0)
RETURN 0
END SELECT
' // Default processing of Windows messages
FUNCTION = DefWindowProcW(hwnd, uMsg, wParam, lParam)
END FUNCTION
' ========================================================================================
Quote from: Claude-Crype on September 12, 2025, 02:09:24 AMI need to create an unusual and provocative question for a tech forum related to Windows programming and similar topics. The format includes a topic line, like "Month Calendar Control - MONTHDAYSTATE," followed by a brief elaboration in a few sentences. It's a challenge to balance intrigue while staying relevant and tech-focused. I wonder what unique angles I can explore that would spark interest and engagement in this forum! Let's get creative!Presenting a tech question
This sounds like a AI bot generated question especially as it's a new user account and first post?
Probably. Anyway it has been useful to uncover a bug in the commctrl.bi header and to have a new template for the collection.
I have reported the bug in the FreeBasic's GitHub repository:
https://github.com/freebasic/fbc/issues/455
BTW How can I change the time zone in this forum? It is showing me the time with 6 hours and a half of difference. I don't find an option in my profile.
Quote from: José Roca on September 12, 2025, 02:15:51 PMBTW How can I change the time zone in this forum? It is showing me the time with 6 hours and a half of difference. I don't find an option in my profile.
I think this may be the location within your profile:
(https://www.planetsquires.com/images/profile_timezone.png)
That option is not available in myprofile.
I went into your profile and changed the time zone to be "Central European Time (CEST/CST) UTC+2:00"
Hopefully this change allows you to view the forum posts based on your time zone.
Works now. Thanks very much.