Name previously declared: <name>
A name that has already been declared in the current scopeis
being declared again in the same name space. Names that reside in
the same name space may only be declared once in a scope. Each module,
sub, function, property, class, and user-defined data type has a particular
scope. LotusScript has
three separate name spaces:
Illegal name for class or type: <name>
You used the word Object as the name of a user-defined
class or data type. Object is a LotusScript reserved
word.
Member is not a subprogram: <member name>
You used "dotdot" notation to refer to a member variable
of a base class. This notation is legal only for referring to a member
function, sub, or property of a base class. It is not legal for referring
to member variables of a base class.
Illegal executable code at the module level
An executable statement appears at the module level. The
product in which you are running LotusScript does
not allow executable statements at the module level.
Member declared in a parent class
You tried to declare a member variable in a derived class
using the same name as a member variable, sub, function, or property
of the base class. This is not allowed.
Maximum array dimensions (8) exceeded: <array name>
You either declared an array with more than eight dimensions
or you used more than eight subscripts in referring to an array. An
array can have a maximum of eight dimensions.
Array size exceeds maximum: <array name>
You declared an array whose total size is greater than
the maximum allowable size. The maximum allowable array size is 65,536
bytes (64K).
TYPE may not have instance of itself as a member: <instance name>
You declared an instance of the user-defined data type
being defined as a member of itself. The definition of a user-defined
data type may include an instance of another user-defined data type
as a member, but not an instance of itself. For example:
Out of memory
You must free enough memory to perform the operation that
caused this error message. To free memory in your computer, do one
of the following:
Undefined label: <label name>
The sub, function, or property just compiled contains a reference to a label that was never defined. The line number of the error message identifies the End Sub, End Function, or End Property statement that marks the end of the offending procedure. Labels must be defined within the same scope in which they are referenced.
Illegal data type for argument: <argument name>
You used a fixed-length string as a parameter in the declaration
of a sub or function. Fixed-length strings are not legal as parameters
in subs or functions.
Too many arguments for: <subprogram name>
You specified more than the limit of 31 parameters in the
declaration of a sub or function. The maximum number of parameters
that may be specified for a sub or function is 31.
Cannot subclass: <class name>
You specified a product class as the base class of a derived
class. A product class may not be used as the base class of a derived
class.
DIM required on declarations in this scope
You declared a variable at module level without the Dim,
Public, or Private keyword, or you declared a variable inside a procedure
without the Dim or Static keyword. One of these is required.
Illegal external argument: <argument name>
You declared a C function and specified the data type of
one of its parameters as a fixed-length string or as a list. You cannot
specify a C function parameter as a fixed-length string or a list.
Illegal construction of type instance: <instance name>
You used the keyword New in the declaration of a variable
of a user-defined data type or in a statement assigning a value to
a variable of a user-defined data type. The keyword New is not allowed
in referring to variables of a user-defined type. For example:
Class or type name not found: <name>
You used a name that does not refer to an existing class
or user-defined data type where one of these was required. You used
the name in one of the following contexts:
Label is illegal outside of a subprogram
You defined a label at the module level. Labels may not
be defined at the module level. Executable statements at the module
level are executed as the module is compiled, and then discarded.
Therefore, control cannot be transferred to a labeled statement at
the module level.
Not a sub or function name: <name>
In a statement where the name of a function or sub is expected,
you specified a name that is not recognized as a sub or function name.
The statement is one of the following:
Type suffix does not match data type: <name>
You referred to a variable, constant, function, or property
with a data type suffix character that does not match its declared
data type. If a variable is declared as a Variant, references to that
variable may not contain any suffix character.
Not a member: <name>
You referred to a nonexistent member of a class or user-defined
data type. For example:
ME not valid outside of class scope
You used the keyword Me outside of a procedure within a
class. Use the keyword Me only inside procedures within a class. You
use Me within the definition of a class when referring to members
of that class.
.. not valid outside of class scope
You used "dotdot" syntax outside of a procedure within
a class. The "dotdot" syntax is only valid inside procedures within
a class. You use "dotdot" notation when referring to a procedure in
a base class when the derived class has a procedure of the same name,
as in the following example:
Reference must contain exactly one subscript: <name>
A reference to a list or collection contains either no
subscript or more than one subscript. A list or collection reference
must contain exactly one subscript.
Illegal parenthesized reference: <name>
You referred to a name followed by parentheses, but the
reference is not to an array, list, or a collection, or a Variant
containing a reference to one of these, or to a function.
Not an instance name: <name>
A name is followed by a dot, but the name is not an object
reference variable, a Variant variable containing a reference to an
object, or a variable of a user-defined data type. Use "dot" notation
only with variables of one of these three kinds.
Illegal numeric constant
You tried to define a numeric constant, assigning it a
value that doesn't match the specified or default data type. For example:
Name too long: <name>
The specified name is too long (it is truncated in the
error message). The maximum length of a LotusScript name is 40 characters.
Token is too long
The maximum length of a LotusScript token (a sequence of characters
with a unique meaning) may not exceed the maximum allowable length
of a string constant (16K characters) plus its delimiters.
Illegal use of NEW on array or list declaration: <name>
You used the keyword New in declaring an array or list.
This not allowed. In an array or a list whose type is a class, the
elements must be constructed individually.
Unterminated string constant
You omitted the double quotation mark that signals the
end of a quoted literal on a single line. Double quotation marks must
be paired on the same line. For example:
Unterminated multiline string
You omitted the vertical bar (|) that marks the end of
a multiline string; or you omitted the close brace (}) that marks
the end of a multiline string; or you used a brace as one delimiter
and the "|" character as the other. For example:
Unterminated square bracket reference
A square bracket reference was not terminated by a close
square bracket (]) on the same line. Square brackets are used in some
cases when referring to the names of product items.
Illegal character after continuation character
The line-continuation character underscore ( _ ) is followed
on the same line by a character that is not the comment character
('). The line-continuation character must be the last character on
a line, except for an optional comment, beginning with the comment
character.
SET required on class instance assignment (message explained)
You attempted to assign an object reference to a variable
but omitted the Set keyword. (An object reference can be a reference
to an instance of a user-defined class, a product object, an OLE automation
object, or the constant NOTHING.) The Set keyword is required in object
reference assignments. For example:
Unterminated <keyword> block
You omitted the keyword that marks the end of one of the
following block statements:
Illegal pass by value
You tried to pass an argument by value that may not be
passed by value, either by using parentheses around the argument,
or by using the ByVal keyword on an argument in a call to an external
C function.
Illegal type suffix on keyword: <keyword>
You included an illegal data type suffix character in the
name of a LotusScript built-in
function. Certain LotusScript built-in
functions can end in the $ type suffix character; no other data type
suffix character is valid on these functions. The names of other functions
cannot end in a data type suffix character. For example:
Empty parentheses not legal on: <name>
You included empty parentheses in referring to a variable
of type Variant or an undefined function or sub (which LotusScript interprets as a reference
to an implicitly declared variable of type Variant). For example:
Illegal use of parentheses
You called a sub or function and enclosed its argument
list in parentheses. You can only do this under the following circumstances:
Name previously referenced in this scope
You declared a variable in an outer scope. You then referred
to this variable in an inner scope and then declared it in that scope.
For example:
Missing collection index for: <name>
You included empty parentheses in a reference to a collection.
This is not allowed. You can either remove the empty parentheses or
insert the appropriate subscript. Removing the parentheses makes the
reference be to the entire collection, while including the subscript
makes the reference be to a single element in the collection.
Cannot assign into collection item
You tried to assign a value to a collection item. You can
retrieve items in a collection but you cannot assign values to them.
Collection item is not an instance
You referred to an item in an indexed collection as though
that item were an object, but it isn't. For example, if iColl is a
collection of integers, the following statement would be illegal:
Type suffix character required on: <name>
A variable that was implicitly declared with a data type
suffix character was used without the suffix character. When a variable
is implicitly declared with a suffix character, all subsequent references
must contain the suffix character. A reference without the suffix
character is treated as an implicit declaration of an already declared
variable. This is illegal (a variable can't be declared twice).
Must be a sub: <procedure_name>
A module-level procedure named "Initialize" or "Terminate"
must be a sub. Initialize and Terminate are special subs at the module
level. Initialize is executed when the module is loaded and Terminate
when it is unloaded.