This section lists all the messages that concern the handling of symbols. This means all things that
have to do with procedure and variable names.
Error: Identifier not found ”arg1”
The compiler doesn’t know this symbol. Usually
happens when you misspel the name of a variable or procedure, or when you forgot to
declare a variable.
Fatal: Internal Error in SymTableStack()
An internal error occurred in the compiler;
If you encounter such an error, please contact the developers and try to provide an
exact description of the circumstances in which the error occurs.
Error: Duplicate identifier ”arg1”
The identifier was already declared in the current
scope.
Hint: Identifier already defined in arg1 at line arg2
The identifier was already
declared in a previous scope.
Error: Unknown identifier ”arg1”
The identifier encountered has not been declared, or
is used outside the scope where it is defined.
Error: Forward declaration not solved ”arg1”
This can happen in two cases:
This happens when you declare a function (in the interface part, or with a
forward directive, but do not implement it.
You reference a type which isn’t declared in the current type block.
Error: Error in type definition
There is an error in your definition of a new array
type:
One of the range delimiters in an array declaration is erroneous. For example, Array [1..1.25]
will trigger this error.
Error: Forward type not resolved ”arg1”
A symbol was forward defined, but no declaration
was encountered.
Error: Only static variables can be used in static methods or outside methods
A static
method of an object can only access static variables.
Fatal: record or class type expected
The variable or expression isn’t of the type record or
class.
Error: Instances of classes or objects with an abstract method are not allowed
You are
trying to generate an instance of a class which has an abstract method that wasn’t
overridden.
Warning: Label not defined ”arg1”
A label was declared, but not defined.
Error: Label used but not defined ”arg1”
A label was declared and used, but not
defined.
Error: Illegal label declaration
This error should never happen; it occurs if a label is defined
outside a procedure or function.
Error: GOTO and LABEL are not supported (use switch -Sg)
You must compile a
program which has labels and goto statements with the -Sg switch. By default, label and
goto aren’t supported.
Error: Label not found
A goto label was encountered, but the label isn’t declared.
Error: identifier isn’t a label
The identifier specified after the goto isn’t of type
label.
Error: label already defined
You are defining a label twice. You can define a label only
once.
Error: illegal type declaration of set elements
The declaration of a set contains an invalid
type definition.
Error: Forward class definition not resolved ”arg1”
You declared a class, but you did not
implement it.
Hint: Unit ”arg1” not used in arg2
The unit referenced in the uses clause is not
used.
Hint: Parameter ”arg1” not used
The identifier was declared (locally or globally) but was not
used (locally or globally).
Note: Local variable ”arg1” not used
You have declared, but not used a variable in a
procedure or function implementation.
Hint: Value parameter ”arg1” is assigned but never used
The identifier was declared
(locally or globally) set but not used (locally or globally).
Note: Local variable ”arg1” is assigned but never used
The variable in a procedure or
function implementation is declared, set but never used.
Hint: Local arg1 ”arg2” is not used
A local symbol is never used.
Note: Private field ”arg1.arg2” is never used
The indicated private field is defined, but is
never used in the code.
Note: Private field ”arg1.arg2” is assigned but never used
The indicated private field is
declared, assigned but never read.
Note: Private method ”arg1.arg2” never used
The indicated private method is declared but
is never used in the code.
Error: Set type expected
The variable or expression is not of type set. This happens in an in
statement.
Warning: Function result does not seem to be set
You can get this warning if the compiler
thinks that a function return value is not set. This will not be displayed for assembler
procedures, or procedures that contain assembler blocks.
Warning: Type ”arg1” is not aligned correctly in current record for C
Arrays with sizes
not multiples of 4 will be wrongly aligned for C structures.
Error: Unknown record field identifier ”arg1”
The field doesn’t exist in the record/object
definition.
Warning: Local variable ”arg1” does not seem to be initialized
This message is displayed
if the compiler thinks that a variable will be used (i.e. appears in the right-hand-side of an
expression) when it was not initialized first (i.e. appeared in the left-hand side of an
assigment)
Warning: Variable ”arg1” does not seem to be initialized
This message is displayed if the
compiler thinks that a variable will be used (i.e. appears in the right-hand-side of an
expression) when it was not initialized first (i.e. appeared in the left-hand side of an
assigment)
Error: identifier idents no member ”arg1”
This error is generated when an identifier of a
record, field, or method is accessed while it is not defined.
Hint: Found declaration: arg1
You get this when you use the -vh switch. In case an
overloaded procedure is not found, then all candidate overloaded procedures are listed, with
their parameter lists.
Error: Data element too large
You get this when you declare a data element whose size
exceeds the prescribed limit (2 Gb on 80386+/68020+ processors)
Error: No matching implementation for interface method ”arg1” found
There was no
matching method found which could implement the interface method. Check argument types
and result type of the methods.
Warning: Symbol ”arg1” is deprecated
This means that a symbol (a variable, routine, etc...)
which is declared as deprecated is used. Deprecated symbols may no longer be available in
newer versions of the unit / library. Usage of this symbol should be avoided as much as
possible.
Warning: Symbol ”arg1” is not portable
This means that a symbol (a variable,
routine, etc...) which is declared as platform is used. This symbol’s value, usage and
availability is platform specific and should not be used if the source code must be
portable.
Warning: Symbol ”arg1” is not implemented
This means that a symbol (a variable, routine,
etc...) which is declared as unimplemented is used. This symbol is defined, but is not yet
implemented on this specific platform.
Error: Can’t create unique type from this type
Only simple types like ordinal, float and
string types are supported when redefining a type with type newtype = typeoldtype;.
Hint: Local variable ”arg1” does not seem to be initialized
This message is displayed if
the compiler thinks that a variable will be used (i.e. appears in the right-hand-side of an
expression) when it was not initialized first (i.e. appeared in the left-hand side of an
assigment)
Hint: Variable ”arg1” does not seem to be initialized
This message is displayed if the
compiler thinks that a variable will be used (i.e. appears in the right-hand-side of an
expression) when it was not initialized first (i.e. appeared in the left-hand side of an
assigment)
Warning: Function result variable does not seem to initialized
This message is displayed
if the compiler thinks that the function result variable will be used (i.e. appears in the
right-hand-side of an expression) before it is initialized (i.e. appeared in the left-hand side of
an assigment)
Hint: Function result variable does not seem to be initialized
This message is displayed if
the compiler thinks that the function result variable will be used (i.e. appears in the
right-hand-side of an expression) before it is initialized (i.e. appeared in the left-hand side of
an assigment)
Warning: Variable ”arg1” read but nowhere assigned
You have read the value of a
variable, but nowhere assigned a value to it.