WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (V3.1.0 June 4, 2023)

User projects written in or related to FreeBASIC.
Post Reply
PaulSquires
Posts: 1002
Joined: Jul 14, 2005 23:41

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated November 1, 2019)

Post by PaulSquires »

Version 1.9.5 (November 1, 2019)
- Added: ListView control.
- Added: Visual designer projects create WinFBE_VD_MAIN.bas that contains EQUATES to activate all controls that are present in the project. Thi helps reduce EXE size.
- Added: ListBox Insert method.
- Changed: Remove the Visual Designer sample project (a new one will be added in the future).
- Fixed: WinFBE project files for the those found in the "Sample_Projects" folder.

https://github.com/PaulSquires/WinFBE/releases
PaulSquires
Posts: 1002
Joined: Jul 14, 2005 23:41

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated November 2, 2019)

Post by PaulSquires »

Version 1.9.6 (November 2, 2019)
- Added: ListView HitTest method. Determines what (if any) ListView Item and/or SubItem has been clicked on. HitTest( iItem, iSubItem )
- Fixed: Removed "TextChanged" event from the ListView.
- Fixed: ListView Events were not firing due to missing integration code.

https://github.com/PaulSquires/WinFBE/releases
PaulSquires
Posts: 1002
Joined: Jul 14, 2005 23:41

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated November 2, 2019)

Post by PaulSquires »

Version 1.9.7 (November 2, 2019)
- Fixed: ListView notifications (Events) failing on 64 bit compiles.
- Fixed: Added back several missing Codetip popup items for the ListView.

https://github.com/PaulSquires/WinFBE/releases

This release fixes the few problems that have been reported related to the new ListView control.
fxm
Moderator
Posts: 12107
Joined: Apr 22, 2009 12:46
Location: Paris suburbs, FRANCE

Re: WinFBE FreeBASIC Editor for Windows (Updated August 23, 2017)

Post by fxm »

fxm wrote:On my PC, compilation fails with the version 1.4.7 (works with version 1.4.6.1)

I get:
Compiler results: compiling FAILED: Error Code 1
Compiler Log File: Invalid command-line option, "Outils"

I think this behavior is due to my compiler path that contains space characters:
D:\Users\T0003830\Documents\Mes Outils Personnels\fbc1.06.0.St_W\fbc.exe

IMHO, quotation marks surrounding the full compiler path are missing when now calling WinAPI:
"D:\Users\T0003830\Documents\Mes Outils Personnels\fbc1.06.0.St_W\fbc.exe" .....

By the way, all names of paths/files in the compiler command line may also contain space characters (works also with version 1.4.6.1 for the source file at least):
"D:\Users\T0003830\Documents\Mes Outils Personnels\fbc1.06.0.St_W\fbc.exe" "Untiled 1.bas" .....
The same problem seems to have come back with these latest versions.
(this worked with 1.9.1)
(the following versions, but earlier than 1.9.4, were not tested because Avast detects a virus in their .exe files)
cbruce
Posts: 164
Joined: Sep 12, 2007 19:13
Location: Dallas, Texas

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated November 2, 2019)

Post by cbruce »

Paul, there are a lot of duplicated keywords in the freebasic_keywords.txt file. Is this intentional?

Example:

Code: Select all

oct oct$ oct$ off offset on on once open open operator option option or out out output output
If you want it, here's a sorted, deduplicated copy of the file from the 1.9.7 release:

Code: Select all

#define #else #elseif #endmacro #error #if #ifdef #ifndef #inclib #include #lang #libpath #line #macro #pragma #print #undef $begin $debug $dynamic $finish $ignore $inc $include $linesize $list $module $name $ocode $option $page $pagei $pagesize $process $skip $start $static $stringpool $subtitle $title __date__ __fb_bigendian__ __fb_debug__ __fb_dos__ __fb_err__ __fb_lang__ __fb_linux__ __fb_main__ __fb_min_version__ __fb_mt__ __fb_option_byval__ __fb_option_dynamic__ __fb_option_escape__ __fb_option_explicit__ __fb_option_private__ __fb_out_dll__ __fb_out_exe__ __fb_out_lib__ __fb_out_obj__ __fb_signature__ __fb_ver_major__ __fb_ver_minor__ __fb_ver_patch__ __fb_version__ __fb_win32__ __file__ __file_nq__ __function__ __function_nq__ __line__ __path__ __time__ abs abstract accelerators access acos alias allocate alt and andalso any append as asc asin asm assert atan2 atn autocheckbox autoradiobutton base basic beep begin bin bin$ binary bit bitmap bitreset bitset bload block boolean bsave byref byte byval call callocate calls caption case cast cbyt cbyte ccur cdbl cdecl chain chdir chdrive chr chr$ cint circle class clear clng clngint close cls color com combobox command command$ common compileline compileline$ condbroadcast condcreate conddestroy condsignal condwait const constructor continue control cos cptr cshort csign csng csrlin cubyte cuint culng culngint culngnt cunsg curdir curdir$ cursor cushort cvb cvc cvd cvi cvl cvlongint cvs cvshort data date date$ deallocate declare def defbyte defcur defdbl defined defint deflng defshort defsng defstr defubyte defuint defushort delete destructor dialogex dim dir dir$ disablebopt disablefold disableincdec disableperiodmsg disableshifts disabletest disabletrim discardable do double draw dylibfree dylibload dylibsymbol dynamic edittext else elseif end endif enum environ environ$ eof eqv erase erdev erdev$ erl err error error$ escape event exec exepath exit exp explicit export exstyle extends extern false field fileattr fileos files filetype fileversion fix flip font for format fortran frac fre freefile function get getkey getmouse go gosub goto groupbox hex hex$ hibyte hiword hwnd icon if iif imp inkey$ inp input input$ instr int integer ioctl ioctl$ is key kill lbound lcase lcase$ left left$ len let lib line linenumber list listbox lobyte loc local locate lock lof log long longint loop loword lpos lprint lset ltext ltrim ltrim$ menu menuitem mid mid$ mkb$ mkc$ mkd mkd$ mkdir mki mki$ mkl mkl$ mklongint mks mks$ mkshort mod multikey mutexcreate mutexdestroy mutexlock mutexunlock name namespace new next noinvert not null object oct oct$ off offset on once open operator option or orelse out output overload override paint palette pascal pcopy peek peekbyte peekcurr peeki peeklong peeks peekword pen play pmap point pointer poke pokebyte pokecurr pokei pokelong pokes pokeword popup pos preserve preset print private procptr productversion property protected pset ptr public pushbutton put random randomize read reallocate redim rem reset restore resume return rgb right right$ rmdir rnd rol ror rset rtrim rtrim$ run sadd scope screen screencopy screeninfo screenlock screenptr screenres screenset screenunlock seek seg seg$ select separator setenviron setmem sgn shared shell shift shl short shr signal sin single sizeof sleep sound space space$ spc sqr sseg ssegadd stack static stdcall step stick stop str str$ strcat strchr strcmp strcpy strig string string$ stringtable strlen strncat strncmp strncpy strptr strrchr strstr style sub swap syscall system tab tan test testnot then threadcreate threadwait time time$ timer to trim trim$ true type ubound ubyte ucase ucase$ uinteger ulong ulongint union unlock until ushort using va_arg va_first va_next val val64 valint value var varptr varptr$ varseg versioninfo view virtkey virtual wait wbin wchr wend whex while width wincon window windowtitle wingui with woct write wspace wstr wstring xor zstring
deltarho[1859]
Posts: 4305
Joined: Jan 02, 2017 0:34
Location: UK
Contact:

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated November 2, 2019)

Post by deltarho[1859] »

cbruce's keywords is 3.85KB, mine is 28.2KB and includes many Windows APIs, no duplications.

I don't use the default keyword colour, my eyes see blue very close to black so I use Lavender, Bold.

Image

Code: Select all

#define #else #elseif #endmacro #error #if #ifdef #ifndef #inclib #include #lang #libpath #line #macro #pragma #print #undef $begin $debug $dynamic $finish $ignore $inc $include $linesize $list $module $name $ocode $option $page $pagei $pagesize $process $skip $start $static $stringpool $subtitle $title abortdoc abortpath abortprinter abortsystemshutdown abs abstract accelerators access accesscheck accesscheckandauditalarm acos activatekeyboardlayout addaccessallowedace addaccessdeniedace addace addatom addauditaccessace addfontresource addform addjob addmonitor addport adjusttokengroups adjusttokenprivileges adjustwindowrect adjustwindowrectex alias allocate allocateandinitializesid allocatelocallyuniqueid allocconsole alt and andalso anglearc animatepalette any anypopup apisleep append appendmenu arc arcto arrangeiconicwindows as asc asin asm assert atan2 atn attachthreadinput autocheckbox autoradiobutton auxgetdevcaps auxgetnumdevs auxgetvolume auxoutmessage auxsetvolume backupeventlog backupread backupseek backupwrite base basic bcryptclosealgorithmprovider bcryptcreatehash bcryptdecrypt bcryptderivekey bcryptdestroyhash bcryptdestroykey bcryptduplicatehash bcryptduplicatekey bcryptencrypt bcryptexportkey bcryptfinalizekeypair bcryptfinishhash bcryptfreebuffer bcryptgeneratekeypair bcryptgeneratesymmetrickey bcryptgenrandom bcryptgetproperty bcrypthash bcrypthashdata bcryptimportkey bcryptimportkeypair bcryptkeyderivation bcryptopenalgorithmprovider bcryptprocessmultioperations bcryptsecretagreement bcryptsetproperty bcryptsignhash bcryptverifysignature beep begin begindeferwindowpos beginpaint beginpath beginupdateresource bin bin$ binary bit bitblt bitmap bitreset bitset bload block boolean bringwindowtotop broadcastsystemmessage bsave buildcommdcb buildcommdcbandtimeouts byref byte byval call callmsgfilter callnamedpipe callnexthookex callocate calls callwindowproc canceldc caption cascadewindows case cast cbyt cbyte ccur cdbl cdecl chain changeclipboardchain changedisplaysettings changemenu changeserviceconfig charlower charlowerbuff charnext charprev chartooem chartooembuff charupper charupperbuff chdir chdrive checkcolorsingamut checkdlgbutton checkmenuitem checkmenuradioitem checkradiobutton childwindowfrompoint childwindowfrompointex choosecolor choosefont choosepixelformat chord chr chr$ cint circle class clear clearcommbreak clearcommerror cleareventlog clienttoscreen clipcursor clng clngint close closeclipboard closedesktop closedriver closeenhmetafile closeeventlog closefigure closehandle closemetafile closeprinter closeservicehandle closewindow closewindowstation cls color colormatchtotarget com combinergn combinetransform combobox command command$ commconfigdialog commdlgextendederror common comparefiletime comparestring compileline compileline$ condbroadcast condcreate conddestroy condsignal condwait configureport connectnamedpipe connecttoprinterdlg const continue continuedebugevent control controlservice convertdefaultlocale copyacceleratortable copycursor copyenhmetafile copyfile copyicon copyimage copylzfile copymetafile copyrect copysid cos countclipboardformats cptr createacceleratortable createbitmap createbitmapindirect createbrushindirect createcaret createcialogindirect createcolorspace createcompatiblebitmap createcompatibledc createconsolescreenbuffer createcursor createdc createdesktop createdialog createdialogindirectparam createdialogparam createdibitmap createdibpatternbrush createdibpatternbrushpt createdibsection createdirectory createdirectoryex creatediscardablebitmap createellipticrgn createellipticrgnindirect createenhmetafile createevent createfile createfilemapping createfont createfontindirect createhalftonepalette createhatchbrush createic createicon createiconfromresource createiconindirect createiocompletionport createmailslot createmappedbitmap createmdiwindow createmenu createmetafile createmutex createnamedpipe createpalette createpatternbrush createpen createpenindirect createpipe createpolygonrgn createpolypolygonrgn createpopupmenu createprivateobjectsecurity createprocess createprocessasuser createrectrgn createrectrgnindirect createremotethread createroundrectrgn createscalablefontresource createsemaphore createservice createsolidbrush createstatuswindow createtapepartition createthread createtoolbarex createupdowncontrol createwindow createwindowex cshort csign csng csrlin cubyte cuint culng culngint culngnt cunsg curdir curdir$ cursor cushort cvb cvc cvd cvi cvl cvlongint cvs cvshort data date$ ddeabandontransaction ddeaccessdata ddeadddata ddeclienttransaction ddecmpstringhandles ddeconnect ddeconnectlist ddecreatedatahandle ddecreatestringhandle ddedisconnect ddedisconnectlist ddeenablecallback ddefreedatahandle ddefreestringhandle ddegetdata ddegetlasterror ddeimpersonateclient ddeinitialize ddekeepstringhandle ddenameservice ddepostadvise ddequeryconvinfo ddequerynextserver ddequerystring ddereconnect ddesetqualityofservice ddesetuserhandle ddeunaccessdata ddeuninitialize deallocate debugactiveprocess debugbreak declare def defbyte defcur defdbl defdlgproc defdriverproc deferwindowpos defframeproc defined definedosdevice defint deflng defmdichildproc defshort defsng defstr defubyte defuint defushort defwindowproc delete deleteace deleteatom deletecolorspace deletecriticalsection deletedc deleteenhmetafile deletefile deleteform deletemenu deletemetafile deletemonitor deleteobject deleteport deleteprinter deleteprinterconnection deleteprinterdriver deleteprintprocessor deleteprintprovidor deleteservice deltarho deregistereventsource describepixelformat destroyacceleratortable destroycaret destroycursor destroyicon destroymenu destroyprivateobjectsecurity destroywindow destructor devicecapabilities deviceiocontrol dialogbox dialogboxindirect dialogboxindirectparam dialogboxparam dialogex dim dir dir$ disablebopt disablefold disableincdec disableperiodmsg disableshifts disabletest disablethreadlibrarycalls disabletrim discardable disconnectnamedpipe dispatchmessage dlgdirlist dlgdirlistcombobox dlgdirselectcomboboxex dlgdirselectex do documentproperties doenvironmentsubst dosdatetimetofiletime double dptolp dragacceptfiles dragdetect dragfinish dragobject dragqueryfile dragquerypoint draw drawanimatedrects drawcaption drawedge drawescape drawfocusrect drawframecontrol drawicon drawiconex drawinsert drawmenubar drawstate drawstatustext drawtext drawtextex drvgetmodulehandle duplicatehandle duplicateicon duplicatetoken dylibfree dylibload dylibsymbol dynamic edittext ellipse else elseif emptyclipboard enablemenuitem enablescrollbar enablewindow end enddeferwindowpos enddialog enddoc enddocprinter endif endpage endpageprinter endpaint endpath endupdateresource entercriticalsection enum enumcalendarinfo enumchildwindows enumclipboardformats enumdateformats enumdependentservices enumdesktops enumdesktopwindows enumenhmetafile enumfontfamilies enumfonts enumforms enumicmprofiles enumjobs enummetafile enummonitors enumobjects enumports enumprinterdrivers enumprinterpropertysheets enumprinters enumprintprocessors enumprops enumpropsex enumresourcelanguages enumresourcenames enumresourcetypes enumservicesstatus enumsystemcodepages enumsystemlocales enumthreadwindows enumtimeformats enumwindows enumwindowstations environ environ$ eof equalprefixsid equalrect equalrgn equalsid eqv erase erasetape erdev erdev$ erl err error error$ escape escapecommfunction event excludecliprect excludeupdatergn exec exepath exit exitprocess exitthread exitwindows exitwindowsex exp expandenvironmentstrings explicit export exstyle extcreatepen extcreateregion extends extern extescape extfloodfill extractassociatedicon extracticon extracticonex extselectcliprgn exttextout false fatalappexit fatalexit field fileattr fileos files filetimetodosdatetime filetimetolocalfiletime filetimetosystemtime filetype fileversion fillconsoleoutputattribute fillconsoleoutputcharacter fillpath fillrect fillrgn findatom findclose findclosechangenotification findenvironmentstring findexecutable findfirstchangenotification findfirstfile findfirstfreeace findfirstprinterchangenotification findnextchangenotification findnextfile indresource findresourceex findtext findwindow findwindowex fix fixbrushorgex flashwindow flattenpath flip floodfill flushconsoleinputbuffer flushfilebuffers flushinstructioncache flushviewoffile foldstring font for formatmessage fortran framerect framergn fre freeconsole freeddelparam freeenvironmentstrings freefile freelibrary freelibraryandexitthread freeresource freesid function gdicomment gdiflush gdigetbatchlimit gdisetbatchlimit generateconsolectrlevent get getace getaclinformation getacp getactivewindow getarcdirection getaspectratiofilterex getasynckeystate getatomname getbinarytype getbitmapbits getbitmapdimensionex getbkcolor getbkmode getboundsrect getbrushorgex getcapture getcaretblinktime getcaretpos getcharabcwidths getcharabcwidthsfloat getcharacterplacement getcharwidth getcharwidth32 getcharwidthfloat getclassinfo getclassinfoex getclasslong getclassname getclassword getclientrect getclipboarddata getclipboardformatname getclipboardowner getclipboardviewer getclipbox getclipcursor getcliprgn getcoloradjustment getcolorspace getcommandline getcommconfig getcommmask getcommmodemstatus getcommproperties getcommstate getcommtimeouts getcompressedfilesize getcomputername getconsolecp getconsolecursorinfo getconsolemode getconsoleoutputcp getconsolescreenbufferinfo getconsoletitle getcpinfo getcurrencyformat getcurrentdirectory getcurrentobject getcurrentpositionex getcurrentprocess getcurrentprocessid getcurrentthread getcurrentthreadid getcursor getcursorpos getdateformat getdc getdcex getdcorgex getdefaultcommconfig getdesktopwindow getdevicecaps getdevicegammaramp getdialogbaseunits getdibcolortable getdibits getdiskfreespace getdiskfreespaceex getdlgctrlid getdlgitem getdlgitemint getdlgitemtext getdoubleclicktime getdrivermodulehandle getdrivetype geteffectiveclientrect getenhmetafile getenhmetafilebits getenhmetafiledescription getenhmetafileheader getenvironmentstrings getenvironmentvariable getexitcodeprocess getexitcodethread getexpandedname getfileattributes getfileinformationbyhandle getfilesecurity getfilesize getfiletime getfiletitle getfiletype getfileversioninfo getfileversioninfosize getfocus getfontdata getfontlanguageinfo getforegroundwindow getform getfullpathname getglyphoutline getgraphicsmode gethandleinformation geticmprofile geticoninfo getinputstate getjob getkbcodepage getkernelobjectsecurity getkerningpairs getkey getkeyboardlayout getkeyboardlayoutlist getkeyboardlayoutname getkeyboardstate getkeyboardtype getkeynametext getkeystate getlargestconsolewindowsize getlastactivepopup getlasterror getlengthsid getlocaleinfo getlocaltime getlogcolorspace getlogicaldritrings getlogicaldrives getlongpathname getmailslotinfo getmapmode getmenu getmenucheckmarkdimensions getmenucontexthelpid getmenudefaultitem getmenuitemcount getmenuitemid getmenuiteminfo getmenuitemrect getmenustate getmenustring getmessage getmessageextrainfo getmessagepos getmessagetime getmetafile getmetafilebitsex getmetargn getmiterlimit getmodulefilename getmodulehandle getmonitorinfo getmouse getnamedpipehandlestate getnamedpipeinfo getnearestcolor getnearestpaletteindex getnextdlggroupitem getnextdlgtabitem getnextwindow getnumberformat getnumberofconsoleinputevents getnumberofconsolemousebuttons getnumberofeventlogrecords getobject getobjecttype getoemcp getoldesteventlogrecord getopenclipboardwindow getopenfilename getoutlinetextmetrics getoverlappedresult getpaletteentries getparent getpath getpixel getpixelformat getpolyfillmode getpriorityclass getpriorityclipboardformat getprivateobjectsecurity getprivateprofileint getprivateprofilesection getprivateprofilestring getprivateprofilestruct getprocaddress getprocessaffinitymask getprocessheap getprocessheaps getprocessshutdownparameters getprocesstimes getprocesswindowstation getprocessworkingsetsize getprofileint getprofilesection getprofilestring getprop getqueuedcompletionstatus getqueuestatus getrasterizercaps getregiondata getrgnbox getrop2 getsavefilename getscrollinfo getscrollpos getscrollrange getsecuritydescriptorcontrol getsecuritydescriptordacl getsecuritydescriptorgroup getsecuritydescriptorlength getsecuritydescriptorowner getsecuritydescriptorsacl getsecurityinfo getservicedisplayname getservicekeyname getshortpathname getsididentifierauthority getsidlengthrequired getsidsubauthority getsidsubauthoritycount getstartupinfo getstdhandle getstockobject getstretchblt getstringtypea getstringtypeex getstringtypew getsubmenu getsyscolor getsyscolorbrush getsystemdefaultlangid getsystemdefaultlcid getsystemdirectory getsysteminfo getsystemmenu getsystemmetrics getsystempaletteentries getsystempaletteuse getsystempowerstatus getsystemtime getsystemtimeadjustment gettabbedtextextent gettapeparameters gettapeposition gettapestatus gettempfilename gettemppath gettextalign gettextcharacterextra gettextcharset gettextcharsetinfo gettextcolor gettextextentexpoint gettextextentpoint gettextextentpoint32 gettextface gettextmetrics getthreadcontext getthreaddesktop getthreadlocale getthreadpriority getthreadselectorentry getthreadtimes gettickcount gettimeformat gettimezoneinformation gettokeninformation gettopwindow getupdaterect getupdatergn getuserdefaultlangid getuserdefaultlcid getusername getuserobjectinformation getuserobjectsecurity getversion getversionex getviewportextex getviewportorgex getvolumeinformation getwindow getwindowcontexthelpid getwindowdc getwindowextex getwindowlong getwindoworgex getwindowplacement getwindowrect getwindowrgn getwindowsdirectory getwindowtext getwindowtextlength getwindowthreadprocessid getwindowword getwinmetafilebits getworldtransform globaladdatom globalalloc globalcompact globaldeleteatom globalfindatom globalfix globalflags globalfree globalgetatomname globalhandle globallock globalmemorystatus globalrealloc globalsize globalunfix globalunlock globalunwire globalwire go gosub goto graystring groupbox heapalloc heapcompact heapcreate heapdestroy heapfree heaplock heaprealloc heapsize heapunlock heapvalidate hex hex$ hibyte hidecaret hilitemenuitem hiword hread htmlhelp hwnd hwrite icon if iif imagelist_add imagelist_addmasked imagelist_begindrag imagelist_copy imagelist_create imagelist_destroy imagelist_dragenter imagelist_dragleave imagelist_dragmove imagelist_dragshownolock imagelist_draw imagelist_drawex imagelist_drawindirect imagelist_duplicate imagelist_enddrag imagelist_getbkcolor imagelist_getdragimage imagelist_geticon imagelist_geticonsize imagelist_getimagecount imagelist_getimageinfo imagelist_loadimage imagelist_merge imagelist_remove imagelist_replace imagelist_replaceicon imagelist_setbkcolor imagelist_setdragcursorimage imagelist_seticonsize imagelist_setimagecount imagelist_setoverlayimage immassociatecontext immconfigureime immcreatecontext immdestroycontext immenumregisterword immescape immgetcandidatelist immgetcandidatelistcount immgetcandidatewindow immgetcompositionfont immgetcompositionstring immgetcompositionwindow immgetcontext immgetconversionlist immgetconversionstatus immgetdefaultimewnd immgetdescription immgetguideline immgetimefilename immgetopenstatus immgetproperty immgetregisterwordstyle immgetstatuswindowpos immgetvirtualkey imminstallime immisime immisuimessage immnotifyime immregisterword immreleasecontext immsetcandidatewindow immsetcompositionfont immsetcompositionstring immsetcompositionwindow immsetconversionstatus immsetopenstatus immsetstatuswindowpos immsimulatehotkey immunregisterword imp impersonateddeclientwindow impersonateloggedonuser impersonatenamedpipeclient impersonateself inflaterect initatomtable initcommoncontrols initcommoncontrolsex initializeacl initializecriticalsection initializesecuritydescriptor initializesid initiatesystemshutdown inkey$ inp input input$ insendmessage insertmenu insertmenuitem instr int integer interlockeddecrement interlockedexchange interlockedincrement intersectcliprect intersectrect invalidaterect invalidatergn invertrect invertrgn ioctl ioctl$ is isbadcodeptr isbadhugereadptr isbadhugewriteptr isbadreadptr isbadstringptr isbadwriteptr ischaralpha ischaralphanumeric ischarlower ischarupper ischild isclipboardformatavailable isdbcsleadbyte isdialogmessage isdlgbuttonchecked isiconic ismenu isrectempty istextunicode isvalidacl isvalidcodepage isvalidlocale isvalidsecuritydescriptor isvalidsid iswindow iswindowenabled iswindowunicode iswindowvisible iszoomed joygetdevcaps joygetnumdevs joygetpos joygetposex joygetthreshold joyreleasecapture joysetcapture joysetthreshold key keybd_event kill killtimer lbitemfrompt lbound lcase lcase$ lclose lcmapstring lcreat leavecriticalsection left left$ len let lib line linedda linenumber lineto list listbox llseek loadaccelerators loadbitmap loadcursor loadcursorfromfile loadicon loadimage loadkeyboardlayout loadlibrary loadlibraryex loadmenu loadmenuindirect loadmodule loadresource loadstring lobyte loc local localalloc localcompact localfiletimetofiletime localflags localfree localhandle locallock localrealloc localshrink localsize localunlock locate lock lockfile lockfileex lockresource lockservicedatabase lockwindowupdate lof log logonuser long longint lookupaccountname lookupaccountsid lookupiconidfromdirectory lookupiconidfromdirectoryex lookupprivilegedisplayname lookupprivilegename lookupprivilegevalue loop lopen loword lpos lprint lptodp lread lset lstrcat lstrcmp lstrcmpi lstrcpy lstrcpyn lstrlen lstrlenw ltext ltrim ltrim$ lwrite lzclose lzcopy lzdone lzinit lzopenfile lzread lzseek lzstart macrotemp makeabsolutesd makedraglist makeselfrelativesd mapdialogrect mapgenericmask mapviewoffile mapviewoffileex mapvirtualkey mapvirtualkeyex mapwindowpoints maskblt mciexecute mcigetcreatortask mcigetdeviceid mcigetdeviceidfromelementid mcigeterrorstring mcigetyieldproc mcisendcommand mcisendstring mcisetyieldproc menu menuhelp menuitem menuitemfrompoint messagebeep messagebox messageboxex messageboxindirect mid mid$ midiconnect mididisconnect midiinaddbuffer midiinclose midiingetdevcaps midiingeterrortext midiingetid midiingetnumdevs midiinmessage midiinopen midiinprepareheader midiinreset midiinstart midiinstop midiinunprepareheader midioutcachedrumpatches midioutcachepatches midioutclose midioutgetdevcaps midioutgeterrortext midioutgetid midioutgetnumdevs midioutgetvolume midioutlongmsg midioutmessage midioutopen midioutprepareheader midioutreset midioutsetvolume midioutshortmsg midioutunprepareheader midistreamclose midistreamopen midistreamout midistreampause midistreamposition midistreamproperty midistreamrestart midistreamstop mixerclose mixergetcontroldetails mixergetdevcaps mixergetid mixergetlinecontrols mixergetlineinfo mixergetnumdevs mixermessage mixeropen mixersetcontroldetails mkb$ mkc$ mkd mkd$ mkdir mki mki$ mkl mkl$ mklongint mks mks$ mkshort mmioadvance mmioascend mmioclose mmiocreatechunk mmiodescend mmioflush mmiogetinfo mmioinstallioproca mmioopen mmioread mmiorename mmioseek mmiosendmessage mmiosetbuffer mmiosetinfo mmiostringtofourcc mmiowrite mmsystemgetversion mod modifymenu modifyworldtransform monitorfromwindow mouse_event movefile movefileex movememory movetoex movewindow msgwaitformultipleobjects muldiv multibytetowidechar multikey mutexcreate mutexdestroy mutexlock mutexunlock name namespace netapibufferfree netbios netgetanydcname netgetdcname netremotetod netuserchangepassword netusergetgroups netusergetinfo netusergetlocalgroups netwkstagetinfo netwkstausergetinfo new next noinvert not notifybootconfigstatus notifychangeeventlog null object objectcloseauditalarm objectopenauditalarm objectprivilegeauditalarm oct oct$ oemkeyscan oemtochar oemtocharbuff off offset offsetcliprgn offsetrect offsetrgn offsetviewportorgex offsetwindoworgex on once open openbackupeventlog openclipboard opendesktop opendriver openevent openeventlog openfile openfilemapping openicon openinputdesktop openmutex openprinter openprocess openprocesstoken openscmanager opensemaphore openservice openthreadtoken openwindowstation operator option or orelse out output outputdebugstr outputdebugstring overload override packddelparam paint paintdesktop paintrgn palette pascal patblt pathtoregion pcopy peek peekbyte peekcurr peeki peeklong peekmessage peeknamedpipe peeks peekword pen pie play playenhmetafile playenhmetafilerecord playmetafile playmetafilerecord playsound plgblt pmap point pointer poke pokebyte pokecurr pokei pokelong pokes pokeword polybezier polybezierto polydraw polygon polyline polylineto polypolygon polypolyline polytextout popup pos postmessage postquitmessage postthreadmessage preparetape preserve preset print printdlg printermessagebox printerproperties private privilegecheck privilegedserviceauditalarm procptr productversion property protected pset ptinrect ptinregion ptr ptvisible public pulseevent purgecomm pushbutton put querydosdevice queryperformancecounter queryperformancefrequency queryserviceconfig queryservicelockstatus queryserviceobjectsecurity queryservicestatus raiseexception random randomize read readconsole readconsoleinput readconsoleoutput readconsoleoutputattribute readconsoleoutputcharacter readeventlog readfile readfileex readprinter readprocessmemory realizepalette reallocate rectangle rectinregion rectvisible redim redrawwindow regclosekey regconnectregistry regcreatekey regcreatekeyex regdeletekey regdeletevalue regenumkey regenumkeyex regenumvalue regflushkey reggetkeysecurity registerclass registerclassex registerclipboardformat registereventsource registerhotkey registerservicectrlhandler registerwindowmessage regloadkey regnotifychangekeyvalue regopenkey regopenkeyex regqueryinfokey regqueryvalue regqueryvalueex regreplacekey regrestorekey regsavekey regsetkeysecurity regsetvalue regsetvalueex regunloadkey releasecapture releasedc releasemutex releasesemaphore rem removedirectory removefontresource removemenu removeprop replacetext replymessage reportevent reset resetdc resetevent resetprinter resizepalette restore restoredc resume resumethread return reuseddelparam reverttoself rgb right right$ rmdir rnd rol ror roundrect rset rtrim rtrim$ run sadd savedc scaleviewportextex scalewindowextex schedulejob scope screen screencopy screeninfo screenlock screenptr screenres screenset screentoclient screenunlock scrollconsolescreenbuffer scrolldc scrollwindow scrollwindowex searchpath seek seg seg$ select selectclippath selectcliprgn selectobject selectpalette senddlgitemmessage senddrivermessage sendmessage sendmessagecallback sendmessagetimeout sendnotifymessage separator setabortproc setaclinformation setactivewindow setbitmapbits setbitmapdimensionex setbkcolor setbkmode setboundsrect setbrushorgex setcapture setcaretblinktime setcaretpos setclasslong setclassword setclipboarddata setclipboardviewer setcoloradjustment setcolorspace setcommbreak setcommconfig setcommmask setcommstate setcommtimeouts setcomputername setconsoleactivescreenbuffer setconsolecp setconsolectrlhandler setconsolecursorinfo setconsolecursorposition setconsolemode setconsoleoutputcp setconsolescreenbuffersize setconsoletextattribute setconsoletitle setconsolewindowinfo setcurrentdirectory setcursor setcursorpos setdebugerrorlevel setdefaultcommconfig setdevicegammaramp setdibcolortable setdibits setdibitstodevice setdlgitemint setdlgitemtext setdoubleclicktime setendoffile setenhmetafilebits setenviron setenvironmentvariable seterrormode setevent setfileapistoansi setfileapistooem setfileattributes setfilepointer setfilesecurity setfiletime setfocus setforegroundwindow setform setgraphicsmode sethandlecount sethandleinformation seticmmode seticmprofile setjob setkernelobjectsecurity setkeyboardstate setlasterror setlasterrorex setlocaleinfo setlocaltime setmailslotinfo setmapmode setmapperflags setmem setmenu setmenucontexthelpid setmenudefaultitem setmenuitembitmaps setmenuiteminfo setmessageextrainfo setmessagequeue setmetafilebitsex setmetargn setmiterlimit setnamedpipehandlestate setpaletteentries setparent setpixel setpixelformat setpixelv setpolyfillmode setprinter setprinterdata setpriorityclass setprivateobjectsecurity setprocessshutdownparameters setprocesswindowstation setprocessworkingsetsize setprop setrect setrectempty setrectrgn setrop2 setscrollinfo setscrollpos setscrollrange setsecuritydescriptordacl setsecuritydescriptorgroup setsecuritydescriptorowner setsecuritydescriptorsacl setservicebits setserviceobjectsecurity setservicestatus setstdhandle setstretchbltmode setsyscolors setsystemcursor setsystempaletteuse setsystempowerstate setsystemtime setsystemtimeadjustment settapeparameters settapeposition settextalign settextcharacterextra settextcolor settextjustification setthreadaffinitymask setthreadcontext setthreaddesktop setthreadlocale setthreadpriority setthreadtoken settimer settimezoneinformation settokeninformation setunhandledexceptionfilter setupcomm setuserobjectinformation setuserobjectsecurity setviewportextex setviewportorgex setvolumelabel setwindowcontexthelpid setwindowextex setwindowlong setwindoworgex setwindowplacement setwindowpos setwindowrgn setwindowshook setwindowshookex setwindowtext setwindowword setwinmetafilebits setworldtransform sgn shappbarmessage shared shbrowseforfolder shell shell_notifyicon shellabout shellexecute shfileoperation shformatdrive shfreenamemappings shgetfileinfo shgetnewlinkinfo shgetpathfromidlist shgetspecialfolderlocation shift shl short showcaret showcursor showhidemenuctl showownedpopups showscrollbar showwindow showwindowasync shr signal sin single sizeof sizeofresource sleep sleepex sndplaysound sound space space$ spc sqr srcdirection sseg ssegadd stack startdoc startdocprinter startpage startpageprinter startservice startservicectrldispatcher static stdcall step stick stop str str$ strcat strchr strcmp strcpy stretchblt stretchdibits strig string string$ stringtable strlen strncat strncmp strncpy strokeandfillpath strokepath strptr strrchr strstr style sub subtractrect suspendthread swap swapbuffers swapmousebutton switchdesktop syscall system systemparametersinfo systemtimetofiletime systemtimetotzspecificlocaltime systemtimetovarianttime tab tabbedtextout tan taskdialog taskdialogindirect terminateprocess terminatethread test testnot textout then threadcreate threadwait tilewindows time time$ timebeginperiod timeendperiod timegetdevcaps timegetsystemtime timegettime timekillevent timer timesetevent tlsalloc tlsfree tlsgetvalue tlssetvalue to toascii toasciiex tounicode trackmouseevent trackpopupmenu trackpopupmenuex transactnamedpipe translateaccelerator translatecharsetinfo translatemdisysaccel translatemessage transmitcommchar trim trim$ true type ubound ubyte ucase ucase$ uinteger ulong ulongint unhandledexceptionfilter unhookwindowshook unhookwindowshookex union unionrect unloadkeyboardlayout unlock unlockfile unlockfileex unlockservicedatabase unmapviewoffile unpackddelparam unrealizeobject unregisterclass unregisterhotkey until updatecolors updateresource updatewindow ushort using va_arg va_first va_next val val64 validaterect validatergn valint value var vardatefromstr varianttimetosystemtime varptr varptr$ varseg verfindfile verinstallfile verlanguagename verqueryvalue versioninfo view virtkey virtual virtualalloc virtualfree virtuallock virtualprotect virtualprotectex virtualquery virtualqueryex virtualunlock vkkeyscan vkkeyscanex wait waitcommevent waitfordebugevent waitforinputidle waitformultipleobjects waitformultipleobjectsex waitforprinterchange waitforsingleobject waitforsingleobjectex waitmessage waitnamedpipe wbin wchr wend whex while widechartomultibyte widenpath width winbeep wincon window windowfromdc windowfrompoint windowtitle winexec winexecerror wingui winhelp winmain with wnetaddconnection wnetaddconnection2 wnetcancelconnection wnetcancelconnection2 wnetcloseenum wnetconnectiondialog wnetdisconnectdialog wnetenumresource wnetgetconnection wnetgetlasterror wnetgetuniversalname wnetgetuser wnetopenenum woct write writeconsole writeconsoleinput writeconsoleoutput writeconsoleoutputattribute writeconsoleoutputcharacter writefile writefileex writeprinter writeprivateprofilesection writeprivateprofilestring writeprivateprofilestruct writeprocessmemory writeprofilesection writeprofilestring writetapemark wspace wsprintf wstr wstring xor zstring an__ __fb_debug__ __fb_dos__ __fb_err__ __fb_lang__ __fb_linux__ __fb_main__ __fb_min_version__ __fb_mt__ __fb_option_byval__ __fb_option_dynamic__ __fb_option_escape__ __fb_option_explicit__ __fb_option_private__ __fb_out_dll__ __fb_out_exe__ __fb_out_lib__ __fb_out_obj__ __fb_signature__ __fb_version__ __fb_ver_major__ __fb_ver_minor__ __fb_ver_patch__ __fb_win32__ __file_nq__ __file__ __function_nq__ __function__ __line__ __path__ __time__
PaulSquires
Posts: 1002
Joined: Jul 14, 2005 23:41

Re: WinFBE FreeBASIC Editor for Windows (Updated August 23, 2017)

Post by PaulSquires »

fxm wrote:
fxm wrote:On my PC, compilation fails with the version 1.4.7 (works with version 1.4.6.1)

I get:
Compiler results: compiling FAILED: Error Code 1
Compiler Log File: Invalid command-line option, "Outils"

I think this behavior is due to my compiler path that contains space characters:
D:\Users\T0003830\Documents\Mes Outils Personnels\fbc1.06.0.St_W\fbc.exe

IMHO, quotation marks surrounding the full compiler path are missing when now calling WinAPI:
"D:\Users\T0003830\Documents\Mes Outils Personnels\fbc1.06.0.St_W\fbc.exe" .....

By the way, all names of paths/files in the compiler command line may also contain space characters (works also with version 1.4.6.1 for the source file at least):
"D:\Users\T0003830\Documents\Mes Outils Personnels\fbc1.06.0.St_W\fbc.exe" "Untiled 1.bas" .....
The same problem seems to have come back with these latest versions.
(this worked with 1.9.1)
(the following versions, but earlier than 1.9.4, were not tested because Avast detects a virus in their .exe files)
I thought that it was fixed:
Version 1.4.8 (August 25, 2017)
- Fixed: Compiling failed in situations where spaces in file path to compiler (CreateProcess and/or FBC assembling would fail).

I will check again because maybe it is a different compile process that is failing (eg. if *.bas modules exist then they get compiled separately as part of the compile process). I will report back with a fix.
PaulSquires
Posts: 1002
Joined: Jul 14, 2005 23:41

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated November 2, 2019)

Post by PaulSquires »

cbruce wrote:Paul, there are a lot of duplicated keywords in the freebasic_keywords.txt file. Is this intentional?

Example:

Code: Select all

oct oct$ oct$ off offset on on once open open operator option option or out out output output
If you want it, here's a sorted, deduplicated copy of the file from the 1.9.7 release:
...
Thanks! I have included it for the next release.
fxm
Moderator
Posts: 12107
Joined: Apr 22, 2009 12:46
Location: Paris suburbs, FRANCE

Re: WinFBE FreeBASIC Editor for Windows (Updated August 23, 2017)

Post by fxm »

PaulSquires wrote:I thought that it was fixed:
Version 1.4.8 (August 25, 2017)
- Fixed: Compiling failed in situations where spaces in file path to compiler (CreateProcess and/or FBC assembling would fail).

I will check again because maybe it is a different compile process that is failing (eg. if *.bas modules exist then they get compiled separately as part of the compile process). I will report back with a fix.
Thanks.

If that can help you (one single file compilation):
  • Example of error with "Quick Run" (version 1.9.7 32-bit):
    compiling FAILED: Error Code 1
    Failed Compile (Errors 2 Warnings 0 [2019-11-04 04:00:37])

    Command Line:
    C:\Users\fxmam\Documents\Mes Outils Personnels\WinFBE_Suite\FreeBASIC-1.07.1-gcc-5.2\fbc32.exe -m "C:\Users\fxmam\Documents\Mes Outils Personnels\WinFBE_Suite\TMPCD5A.bas" "" -v -s console -exx -x C:\Users\fxmam\Documents\Mes Outils Personnels\WinFBE_Suite\TMPCD5A.exe

    error 81: Invalid command-line option, "Outils"
    Maybe the destination file (in red), the .exe file in this case, must be enclosed in quotation marks.
    Using the -x option of the compiler to explicit the destination file seems to be a new compared to version 1.9.1.
PaulSquires
Posts: 1002
Joined: Jul 14, 2005 23:41

Re: WinFBE FreeBASIC Editor for Windows (Updated August 23, 2017)

Post by PaulSquires »

fxm wrote:Using the -x option of the compiler to explicit the destination file seems to be a new compared to version 1.9.1.
Thanks fxm, that was indeed the source of the error. I am outputting the destination file using the -x option but I was not wrapping the filename in double quotes. I will have this fix included in the next release.
maurice
Posts: 2
Joined: Oct 26, 2019 11:47
Location: Italy

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated November 2, 2019)

Post by maurice »

My compliments to you Paul, thank you for your great work !
Is there a form timer control on the horizon?
PaulSquires
Posts: 1002
Joined: Jul 14, 2005 23:41

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated November 2, 2019)

Post by PaulSquires »

maurice wrote:My compliments to you Paul, thank you for your great work !
Is there a form timer control on the horizon?
Thanks! At some point I will include code for Timers.
PaulSquires
Posts: 1002
Joined: Jul 14, 2005 23:41

Re: WinFBE FreeBASIC Editor for Windows (Updated August 23, 2017)

Post by PaulSquires »

fxm wrote:
compiling FAILED: Error Code 1
Failed Compile (Errors 2 Warnings 0 [2019-11-04 04:00:37])

Command Line:
C:\Users\fxmam\Documents\Mes Outils Personnels\WinFBE_Suite\FreeBASIC-1.07.1-gcc-5.2\fbc32.exe -m "C:\Users\fxmam\Documents\Mes Outils Personnels\WinFBE_Suite\TMPCD5A.bas" "" -v -s console -exx -x C:\Users\fxmam\Documents\Mes Outils Personnels\WinFBE_Suite\TMPCD5A.exe

error 81: Invalid command-line option, "Outils"
Maybe the destination file (in red), the .exe file in this case, must be enclosed in quotation marks.
Using the -x option of the compiler to explicit the destination file seems to be a new compared to version 1.9.1
Even though I've fixed the problem with the -x in your code above, I have the feeling that it may still fail for you because WinFBE and gcc are installed in a path that itself contains spaces. I am doing tests and it seems that when I install WinFBE to a path with spaces then I can not get the compile to work without the CreateProcess hanging (resulting in me having to manually terminate the process). Using quotes around the path does not help this situation (it only helped the case with filenames of code being compiled contained spaces).

I will upload a package with at least the fix applied and then you can let me know if it works with your install configuration. I have even tried to convert the long filename path that contains spaces to its equivalent shortfilename but that api does not seem to be working correctly on my 64 bit machine.
andykmv
Posts: 58
Joined: Feb 12, 2015 9:50

Re: WinFBE FreeBASIC Editor for Windows (Updated August 23, 2017)

Post by andykmv »

PaulSquires wrote:
fxm wrote:
compiling FAILED: Error Code 1
Failed Compile (Errors 2 Warnings 0 [2019-11-04 04:00:37])

Command Line:
C:\Users\fxmam\Documents\Mes Outils Personnels\WinFBE_Suite\FreeBASIC-1.07.1-gcc-5.2\fbc32.exe -m "C:\Users\fxmam\Documents\Mes Outils Personnels\WinFBE_Suite\TMPCD5A.bas" "" -v -s console -exx -x C:\Users\fxmam\Documents\Mes Outils Personnels\WinFBE_Suite\TMPCD5A.exe

error 81: Invalid command-line option, "Outils"
Maybe the destination file (in red), the .exe file in this case, must be enclosed in quotation marks.
Using the -x option of the compiler to explicit the destination file seems to be a new compared to version 1.9.1
Even though I've fixed the problem with the -x in your code above, I have the feeling that it may still fail for you because WinFBE and gcc are installed in a path that itself contains spaces. I am doing tests and it seems that when I install WinFBE to a path with spaces then I can not get the compile to work without the CreateProcess hanging (resulting in me having to manually terminate the process). Using quotes around the path does not help this situation (it only helped the case with filenames of code being compiled contained spaces).

I will upload a package with at least the fix applied and then you can let me know if it works with your install configuration. I have even tried to convert the long filename path that contains spaces to its equivalent shortfilename but that api does not seem to be working correctly on my 64 bit machine.
i did a quick count and the path length including filename is ~271 - doesnt windows have a limit around 260 chars?
jj2007
Posts: 2326
Joined: Oct 23, 2016 15:28
Location: Roma, Italia
Contact:

Re: WinFBE FreeBASIC Editor for Windows (Updated August 23, 2017)

Post by jj2007 »

andykmv wrote:i did a quick count and the path length including filename is ~271 - doesnt windows have a limit around 260 chars?
I count 268 but yes, there is a 260 char limit for the ANSI CreateProcess (and all other ANSI API calls using a path).

The solutions are:
- shorten your paths or
- use CreateProcessW, but read the docs carefully (my highlighting):
The maximum length of this string is 32,768 characters, including the Unicode terminating null character. If lpApplicationName is NULL, the module name portion of lpCommandLine is limited to MAX_PATH characters.

The Unicode version of this function, CreateProcessW, can modify the contents of this string.
I made a demo here: Can command lines be longer than 260 characters?
Post Reply