Home > Language Reference > Error Messages

Compiler Errors

This section describes the different errors that can be reported by HB++ when a project is compiled.

Number Description
2045 control 'name' : type mismatch
2046 control 'name' : array/not array mismatch
2047 control 'name' : invalid array index
2085 syntax error in preprocessor statement
2086 '#Else' statement without matching '#If'
2087 '#ElseIf' statement without matching '#If"
2088 '#End If' statement without matching '#If'
2089 misplaced '#ElseIf' statement
2090 '#End If' statement expected
2091 preprocessor constant 'const' is already defined
2092 type mismatch in preprocessor expression
2093 too many nested '#If ... #Else ... #End If' statements
2099 'message'
2100 maximum number of code segments reached
2101 maximum number of enumerations reached
2102 maximum number of classes reached
2103 type 'type' is already defined
2104 type 'type' is not defined
2105 type 'type' is not a valid base class for 'class'
2106 class 'class1' cannot extend class 'class2' because of a circular reference
2107 class 'class1' cannot be cloneable since its base class 'class2' is not
2108 class 'class' cannot be cloneable since member 'member' is not
2109 type 'type' is not an instantiable class
2110 class 'class' is not extendable
2111 type 'type' is not cloneable
2112 type 'type' has no member
2113 cannot convert 'type1' to 'type2'
2114 cannot convert parameter 'param' in call to 'function' from 'type1' to 'type2'
2115 conditional expression doesn't evaluate to a boolean value
2116 type 'type' is not iterable
2119 class 'class' doesn't extend class 'Form'
2120 the 'Friend' statement cannot be used in modules
2121 cannot be friend of 'type'
2122 invalid type 'name'
2200 identifier 'id' is already defined
2201 identifier 'id' is not defined
2202 identifier 'id' is not an acceptable l-value
2203 identifier 'id' is not an acceptable r-value
2204 property 'property' is read-only
2205 property 'property' is write-only
2206 illegal use of property 'property'
2207 cannot access private member 'member' in 'class'
2208 'class' has no member named 'member'
2209 identifier 'id' doesn't refer to a procedure or a function
2210 identifier 'id' doesn't refer to an array
2211 illegal use of constant or static member '%s'
2212 illegal static constructor, destructor or event handler
2213 illegal use of non-static member 'name'
2250 parameter 'name' of type 'type' cannot be optional
2251 property sub should accept at least one parameter
2252 parameter 'num' in call to 'name' is not optional
2253 unexpected parameter list for identifier 'id'
2254 invalid or ambiguous call to 'function'
2270 label 'name' is not defined
2271 cannot jump into an instruction block
2272 misplaced 'Exit' statement
2273 misplaced 'Else' statement
2274 procedure 'name' doesn't take 'num' parameters
2275 'id' is not a valid loop variable
2276 'next id' expected
2277 increment is null
2278 'Set' statement expected
2279 'Let' statement expected
2280 cannot use Variant data type with Select Case statement
2281 mixed 'Try...Catch...' and 'On Error Goto' statements
2290 floating point underflow
2291 floating point overflow
2292 integer overflow
2293 division by zero
2294 floating point invalid operation
2295 invalid integer operation
2296 invalid parameter in call to 'function'
2300 cannot apply operator 'op' to type 'type'
2301 cannot apply operator 'op' to types 'type1', 'type2'
2302 cannot create range with types 'type1', 'type2'
2303 cannot declare constant of type 'type'
2304 cannot convert constant 'value' to type 'type'
2305 expression is not constant
2350 event 'name' doesn't take 'num' parameters
2351 handler doesn't match any event
2352 event 'name' is not defined
2354 events should be defined in classes
2355 events cannot accept optional parameter
2356 cannot access private event 'event' in class 'class'
2357 handler declaration doesn't match event declaration
2358 an handler already exists for event 'name' (see line nn)
2400 missing subscript
2401 too many subscripts
2402 array dimension not constant
2403 upper bound is lower than lower bound
2404 illegal use of type 'type' in a subscript
2405 illegal optional value with an array
2450 parameter 'name' cannot be declared optional
2451 parameter 'name' refer to an object, use Property Set
2452 parameter 'name' doesn't refer to an object, use Property Let
2454 property 'name' doesn't take 'num' parameters
2500 cannot declare an external property
2501 cannot declare an external procedure in a class or form module
2502 cannot pass parameter of type 'type' to an external procedure
2503 invalid trap number or name
2504 cannot return type 'type' from an external procedure
2510 sort callback should be declared as 'Function name(ByRef item1 as 'type', ByRef item2 as 'type') as Integer'
2511 callbacks cannot be declared in class modules
2512 cannot sort type 'type'
2513 callbacks cannot return values of type 'type'
2514 callbacks cannot accept parameters of type 'type'
2900 too many global variables
2901 too many member variables
2902 too many function parameters
2903 too many local variables
2904 too many events
3000 assembler : jump to 'label' is out of range
3001 assembler : unknown instruction 'instr'
3002 assembler : illegal instruction format for instruction 'instr'
3003 assembler : address is out of range
4000 linker : invalid runtime library
4001 linker : no startup code
4002 linker : debugger entry point not found
4003 linker : unresolved external 'symbol'
4004 linker : duplicated symbol 'symbol'
4005 linker : unknown segment 'segment'
4006 linker : invalid relocation 'num' in 'file' segment 'segment'
4007 linker : jump to 'label' from file 'file' exceeds 32 Kb
4008 linker : data segment exceeds 32 Kb
4009 linker : code segment 'segment' exceeds 64 Kb
4010 linker : exception or handler records segment exceeds 64 Kb
4011 linker : data segment compression failed
4012 linker : duplicated 'type id' resource
4013 linker : invalid binary resource size
4014 linker : image family 'name' exceeds 64 Kb
4015 linker : string list 'name' exceeds 64 Kb
4016 linker : resource 'name id' is missing in overlay 'locale'