Dear All,
I try to put button, the limitation is 650 buttons. It will crash (got error), if it is greater than 650 buttons.
How many the limitation of controls per dialog?
Thanks in advance for any suggestion.
[Settings]
Target =
Category&01 = DEFAULT RUN CONFIGURATION
Working Directory =.
Command Line Arguments =
Category&02 = Harbour Options
Automatic Memvar Declaration = no|yes
Variables Are Assumed = no|yes
Generate Preprocessed Output = no|yes
Warning Level = 1|2|3|4|0
User Include Path =
User Defines =
Compiler Options =
Linker Options = /HEAP: 0x10000, 0x1000
Antonio Linares wrote:Dear Dutch,
FWH does not impose any limit on that, so I guess that you are reaching the limit of your Win32 app default HEAP.
You may try to increase the heap using the linker flag /HEAP when linking the EXE:
/HEAP: 0x10000, 0x1000
Please try to increase those values.
https://www.labri.fr/perso/betrema/winnt/heapmm.html
Please post here the example you are testing to review it as maybe it is a different issue
Antonio Linares wrote:What C compiler are you using ?
# --------- xHarbour y FWH configuration --------
# --- general --------------------------------------
# $P - project name
# $Pp - path to project directory
# $Pn - project name
# --- compile --------------------------------------
# $I - input full name
# $Ip - input path
# $In - input name
# $Ie - input extension
# $O - output file
# $Op - path to output file
# $On - output filename (without path)
# $Oe - output extension
# $R - release/debug setting for compiler
# --- build ----------------------------------------
# $T - target full name
# $Tp - target path
# $Tn - target name
# $O - output file
# $Op - path to output file
# $On - output filename (without path)
# $Oe - output extension
# $R - release/debug setting for linker
[Settings]
Target =
Category&01 = DEFAULT RUN CONFIGURATION
Working Directory =.
Command Line Arguments =
Category&02 = Harbour Options
Automatic Memvar Declaration = no|yes
Variables Are Assumed = no|yes
Generate Preprocessed Output = no|yes
Warning Level = 1|2|3|4|0
User Include Path =
User Defines =
Compiler Options =
Linker Options = /HEAP: 0x10000, 0x1000
Excluded Files = Excludes
[SettingsInfo]
Target = Provides a space for you to specify an output file and location of the program that the linker creates.
Working Directory = Provides a space for you to specify the directory in which executing occurs. If you do not specify a directory, executing occurs in the directory where the executable is located.
Command Line Arguments = Provides a space for you to specify command-line arguments you want to pass to the program at startup.
Compiler Options = Provides a space for you to specify an additional compiler options.
User Defines = Shows the switches the tool will use to build. Use ';' as delimiter.
Linker Options = Provides a space for you to specify an additional linker options.
Excluded Files = This will exclude the file(s) included in this UE project group from the build.
[SettingsReps]
User Defines = @[;|-D%s]
Automatic Memvar Declaration = no=|yes=/a
Variables Are Assumed = no=|yes=/v
Generate Preprocessed Output = no=|yes=/p
User Include Path = ^^@[;|;%s]
User Include Path&1 = ^^@[;| /i%s]
Use Multi Thread Library = no|yes
Warning Level = @/w%s
[Variables]
FWH = D:\FWH1901
HPATH = D:\xHarbour1803
CPATH = D:\bcc73
HPATHL = $(HPATH)\LIB
CPATHL = $(CPATH)\LIB
HOPT = /n /gc0 /q $(Compiler Options) /i$(HPATH)\INCLUDE $(User Include Path&1) $(User Defines) $(Automatic Memvar Declaration) $(Variables Are Assumed) $(Generate Preprocessed Output) $(Warning Level)
COPT = -O2 -M -c -v -I$(HPATH)\INCLUDE -D__HARBOUR__ -D__FLAT__
LOPT = -Gn -aa -Tpe -s -v
LIBS0 = $(HPATHL)\LibMySql.lib
LIBS1 = $(FWH)\LIB\FiveHX.lib $(FWH)\LIB\FiveHC.lib
LIBS2 = $(HPATHL)\rtl.lib $(HPATHL)\vm.lib $(HPATHL)\gtgui.lib $(HPATHL)\lang.lib $(HPATHL)\macro.lib $(HPATHL)\rdd.lib $(HPATHL)\dbfntx.lib $(HPATHL)\dbfcdx.lib $(HPATHL)\dbffpt.lib $(HPATHL)\hbsix.lib $(HPATHL)\debug.lib $(HPATHL)\common.lib $(HPATHL)\pp.lib $(HPATHL)\codepage.lib $(HPATHL)\pcrepos.lib $(HPATHL)\ct.lib $(HPATHL)\hbzip.lib $(HPATHL)\zlib.lib
LIBS3 = $(CPATHL)\cw32.lib $(CPATHL)\import32.lib $(CPATHL)\psdk\odbc32.lib $(CPATHL)\psdk\msimg32.lib $(CPATHL)\psdk\nddeapi.lib $(CPATHL)\psdk\iphlpapi.lib $(CPATHL)\psdk\rasapi32.lib $(CPATHL)\psdk\psapi.lib $(CPATHL)\wininet.lib $(HPATHL)\PNG.lib $(CPATHL)\psdk\GdiPlus.lib $(CPATHL)\psdk\Shell32.lib
LIBS4 = $(FWH)\LIB\TWBRW32X.LIB $(FWH)\LIB\SBUTTONX.LIB $(FWH)\LIB\PICKDATE.LIB $(FWH)\LIB\EZTw32.LIB
LIBS = $(LIBS0) $(LIBS4) $(LIBS1) $(LIBS2) $(LIBS3)
$(HPATHL)\hbsix.lib $(HPATHL)\debug.lib $(HPATHL)\common.lib $(HPATHL)\pp.lib $(HPATHL)\codepage.lib $(HPATHL)\pcrepos.lib $(HPATHL)\ct.lib $(HPATHL)\hbzip.lib $(HPATHL)\zlib.lib
[Environment]
PATH = $(HPATH)\BIN;$(CPATH)\BIN;%PATH%
INCLUDE = $(HPATH)\INCLUDE;$(CPATH)\INCLUDE;$(FWH)\INCLUDE
LIB = $(HPATH)\LIB;$(CPATH)\LIB;$(FWH)\LIB
BuildMode = %UESMode%
[General]
TargetExt = .EXE
ReleaseOut = Release
DebugOut = Debug
UseFullPaths = 1
UseDosNames = 1
Excludes = $(Excluded Files)
GenerateEDGroup=$(External Dependencies)
.CPP = .C
[MakeCommands]
run = Execute Application
makef = Show Makefile
[Execute Application]
Title = Execute $T
Cmd0 = $(Command Line Arguments)
Depends = $T
ShowWindow = 1
DisplayConsole = $(DCon)
[Show Makefile]
Title=Show makefile
Cmd0=uestudio makefile
ShowWindow=1
DisplayConsole=0
[InsertFiles]
[FileGroups]
FGO = .obj;
FGR = .res;
FGL = .lib;
FGD = .def;
[GroupFormats]
FGO = %s
FGR = %s
FGL = %s
[Build]
Out = $T
Depends = $FGO $FGR
DebugFlag =
ReleaseFlag =
Cmd0 = ilink32 $(LOPT) c0w32.obj $FGO, $T,, $(LIBS),, $FGR
[.PRG]
Out = $In.c
DebugFlag = /b
ReleaseFlag =
Cmd0 = harbour $I $(HOPT) $R /o$O
IncFiles = 1
CaseSensitive = 0
IncDirs = .;$(INCLUDE);
IncKeyWords = #include;
Comments = /*.*/.//.eol.
[.C]
Out = $In.obj
Cmd0 = bcc32 $(COPT) -o$O $I
[.RC]
Out = $In.res
Cmd0 = brc32 -r -fo$O $I
IncFiles = 1
CaseSensitive = 0
IncDirs = .;$(INCLUDE);
IncKeyWords = #include;
Comments = /*.*/.//.eol.
James Bott wrote:Dutch,
Wow, 650 buttons! Maybe you should re-think your interface design. Try doing a Google search for "software dialogs," and select "images." The most buttons I saw on any dialog was five. 650 buttons is way too complex to understand.
I think the most complex dialog I ever did was with 6 folders and four buttons, Print Help Cancel OK. The 4 buttons were outside the folders--they applied to all of the folders.
If you need 650 choices maybe you should consider a drop-down list with two buttons, Cancel OK.
Marc Venken wrote:Just curious...
Why not use the cell content of the browse for activating a action ?
You prefer a button action. Is this because the buttons seems to be on top en overlapping the cells ?
This is what I do. The hotel room planner
You can change the heap sizes the linker uses via the -GH flag for ilink32 or ilink64. Use -GH<heapname>=size to allocate a larger heap or multiple heaps. For example, to link the release version of the DLL OWLNext library, internal C++Builder developers use -GHinfo=0x13000000
Return to FiveWin for Harbour/xHarbour
Users browsing this forum: No registered users and 44 guests