Skip to content

Compiler Error Messages

Compiler Errors List

See Also: Finding Specific Errors

List of Errors

Error Details

File Not Found

Cause

A file cannot be found.

Resolution

Check the disk folder for the correct file name. This is a compiler initialization error.


MEMORY: 'amount_memory_available'

Cause

Warning: updated every time a new symbol is encountered if remaining memory is less than one kilobyte. Displays the amount of memory remaining available.

Resolution

If "Out of Memory" error is declared, see Compiler Option M for possible fix. This is a macro compilation error.


Internal error: Compiler output message is corrupt, Compiler terminated unexpectedly

Cause

This can be caused by a code (or similar command/function) statement that exceeds the maximum line length of 4095 characters.

Resolution

Reduce the length of the line of code by splitting it up into multiple separate statements.


10 - Out of Memory

Cause

Not enough physical random access memory (RAM) available.

Resolution

Free up more memory (RAM). This is a compiler initialization error.


16 - Please enter a valid date

Cause

A date was coded into DataFlex source code that is invalid in U.S. date format.

Resolution

All dates coded into DataFlex source code must be in valid U.S. date format.

Example

Incorrect Code:

Date dToday
If (dToday <= 31/08/2003) Begin
    // more code
end

Correct Code:

Date dToday
If (dToday <= 08/31/2003) Begin
    // more code
end


36 - Too many resident images for memory

Cause

This should only occur in legacy code using images, such as a BasicReport. Image windows in your program consume memory. Images with the resident option consume an amount of memory equal to their actual size in bytes (up to about 2,000 each).

Resolution

Reduce the number of resident images in your application (consider separating it into multiple programs), the number of images using the resident option, and/or the size of such images.


50 - Internal Expression Error

Cause

A mathematical expression could not be typed. This problem is most likely generated by an improper compilation, and can often be fixed by recompiling the source code. This is a command compilation error.

Resolution

Recompile your application.


54 - Invalid Symbol in Expression

Cause

  1. An expression names a variable which has not been declared.
  2. An incorrect or nonsensical (impossible to evaluate) expression.
  3. Calling messages in a COM (ActiveX) control before the Windows message queue has started (before Start_UI). This is a command compilation error.

Resolution

  1. Declare all variables before use.
  2. Fix the incorrect expression.

Example

Incorrect Code:

Integer i1 i2 i3
Move (i1 +* i2) to i3
Send Info_Box i3 "Done"

Correct Code:

Integer i1 i2 i3
Move (i1 + i2) to i3
Send Info_Box i3 "Done"

The example in the incorrect code is most likely the result of a typo, and the programmer intended to either add or multiply the integer variables i1 and i2.

  1. COM events may not work properly until you have started the Windows message queue. This is because Windows internally uses the message queue to synchronize inter-thread communication in COM. Do not send messages to COM controls until the Windows message queue has started (after Start_UI has executed).

55 - Invalid Data Type in Expression

This is a command compilation error.

Cause

Certain data types (window names without parentheses around them, labels) are not allowed in expressions. This error reports the presence of such terms in expressions.

Resolution

Remove the invalid data types from your expression. In many cases, you can get the value of the illegal data type you are trying to use to a variable and then use the variable in an expression. Update your code to proper object-oriented code using methods and objects, which will remove the need for the use of labels.


57 - Out Of Expression Stack

Cause

The compiler maintains a "stack" which it uses to type all expressions. Too many terms and/or too many terms of different types in an expression can trigger this error. This is a command compilation error.

Resolution

To overcome this error, "build up" your final expression through two or more actual lines of code (commands).


58 - Over 25 Parentheses () in Expression

Cause

More than 25 pairs of parentheses are used in one expression. This is a command compilation error.

Resolution

Split up your final expression into 2 or more actual lines of code. Most likely, a line of code containing 25 or more pairs of parentheses is difficult to read and debug, so splitting up such complex code will improve readability and maintainability of the code as well as resolve this error.


59 - Floating Point Exception Error

Cause

An expression evaluates to a value outside the range of real numbers. This is a command compilation error.

Resolution

Do not evaluate expressions that exceed the range of real numbers (1 times 10 to the 306 power).


95 - Argument Type Not Legal In Entry Command

Cause

An illegal type of argument for the entry command was used, such as a constant, variable, label, or table name. This is a macro compilation error.

Resolution

Only use legal types of arguments for the entry (database fields, expressions, options, and image windows).


100 - Maximum Number Of Message/Property Definitions Exceeded

Cause

The number of message and property definitions in a single program has been exceeded.

Resolution

Reduce your line program so that the number of message and property definitions remains within the limit. Split up your program into separate smaller programs.


100 - Procedures And Functions May .Not. Be Nested

Cause

An End_Procedure or End_Function statement is located inside a method. This is a command compilation error.

Resolution

Methods (procedures and functions) cannot be defined inside other methods. Move the method declaration outside of any other methods.


101 - Global Functions Cannot Be Registered

Cause

Attempt to register a global function.

Resolution

It is unnecessary and illegal to register global functions. This error can also point out that you have created a function with the same name as an existing global function.


101 - Global Procedures Cannot Be Registered

Cause

Attempt to register a global procedure.

Resolution

It is unnecessary and illegal to register global procedures. This error can also point out that you have created a procedure with the same name as an existing global procedure.


101 - Missing Keyword Returns On Function Declaration

Cause

Missing Returns keyword on function declaration.

Resolution

Add the missing Returns keyword to the function declaration.

Example

Incorrect Code:

Function Foo
Integer iVoid
Function_Return iVoid
End_Function // Foo

Correct Code:

Function Foo
Returns Integer
Integer iVoid
Function_Return iVoid
End_Function // Foo


101 - Number Expected

This is a command compilation error.

Cause

A numeric expected but not found. ICODE error in the command sequence.

Resolution

Change the non-numeric identifier used to a numeric one.


4294 - Can't close .exe


4295 - Can't include resource


4296 - Can't read .FLP


4297 - Can't replace to self

Cause

This error means that you are using an identifier or symbol that is already defined previously.

Resolution

Rename the identifier in question to use a unique name.


4298 - Command not found

Cause

  1. A command in the source file (symbol_name) is not present in the DataFlex included command set, the program, and its packages.
  2. Misspellings frequently trigger this error.
  3. The file Flex.cfl is not accessible to the compiler.
  4. An incorrectly coded expression.

Resolution

  1. Check to make sure you are including the source code file that contains the command named as using a Use or #INCLUDE statement. The online help topic for the command will tell you which file to include.
  2. Check the spelling of the command.
  3. Make sure Flex.cfl is in the Lib subfolder where DataFlex is installed and nowhere else. Make sure that an outdated version (from a prior version of DataFlex) of Flex.cfl is not found elsewhere (e.g. one of the subfolders of your workspace).
  4. Check the expression that is triggering this error.

    a. A missing closing parenthesis for an expression.

    Example of Incorrect Code:

    Integer i1 i2 i3
    If (i1 = i2) AND (i1 = i3) ShowLn "condition is true"
    

    Example of Correct Code:

    Integer i1 i2 i3
    If ((i1 = i2) AND (i1 = i3)) ShowLn "condition is true"
    

    The incorrect code will trigger compiler error 4298, because the entire expression is not enclosed in parentheses.

    b. A missing space between a command and the first argument for the command.

    Example of Incorrect Code:

    Move(Customer.Sales * 10) To Customer.Sales
    

    Example of Correct Code:

    Move (Customer.Sales * 10) To Customer.Sales
    


4299 - Constant expected


4300 - Duplicate page name


4301 - Duplicate resource name


4302 - ELSE without IF

This is a macro-compilation error.

Cause

A #ELSE appears in a macro without a #IF... being open.

Resolution

Add a matching #IF for the #ELSE.


4303 - Empty label


4304 - ENDHEADER not found


4305 - FLEXCFL not found


4306 - Forward reference not resolved

Cause

You used the name of a message not defined anywhere in the object or its class heritage in which the message was invoked.

Resolution

Check spelling of method calls and method names. Ensure the object is inside your current object neighborhood or declared outside of an object neighborhood prior to the current line of code. If the method is declared after this line of code, add a Register_Procedure or Register_Function statement to resolve this compiler error (make sure the method really exists before doing this, or you will get runtime errors later).


4307 - Hash index bad


4308 - Illegal macro expansion


4309 - Illegal redefinition


4310 - Illegal return type


4311 - Image not found

Cause

  1. The image being referenced was not included in the program's source code or not referenced prior to this point in the code.
  2. Illegal characters in image name.
  3. Spaces to the left of the image name.

This should only occur in legacy code using images, such as a BasicReport.

Resolution

  1. Verify that the image being referenced is located in the source code prior to the place it is being referenced. Check the SourceFileName.PRN file to see if and where the image is included in the program.
  2. Only use legal ASCII characters (letters and numbers) in image names. Do not use spaces in image names.
  3. The DataFlex Studio sometimes indents the source code of the report, resulting in this error message. As a solution to this, place the report in a separate source code file and #INCLUDE the file in the place where the report was in the Studio.

4312 - Invalid flexkey name

Cause

An On_Key statement is referencing an invalid accelerator key.

Resolution

FlexKeys are predefined DataFlex accelerator keys. An On_Key statement must reference a valid FlexKey name or a valid keyboard key combination. You can see a list of DataFlex accelerator keys here.


4313 - Include file not found on Line: of File:

Cause

The file specified for inclusion into the program by a Use or #INCLUDE statement on the line of code listed cannot be found along the MakePath.

Resolution

This error sometimes occurs if a filename is misspelled.


4314 - Indicator unresolved

Cause

An indicator is being evaluated that is not declared.

Resolution

Verify that you have declared the indicator prior to using it. Check the spelling of the indicator.


4315 - Invalid data type

Cause

Bad/undefined parameter type name used.

Resolution

The parameter data type listed is undefined.

Example

Incorrect Code:

Procedure Test Integer arg1 MyDataType arg2

where MyDataType is not defined. This is typically caused by a typo of a valid data type or attempting to reference a data type before it has been defined.


4316 - Invalid resource option


4317 - Invalid type

Cause

"One or both comparison variable datatypes are not valid for logical evaluation. Use (var<>xx)" on Line: of File:

Resolution

For Boolean comparisons, you should use the appropriate relational operator inside a Boolean expression and enclose it in parentheses.

Example

This is obsolete:

If iCount GE 10

This is correct:

If (iCount >= 10)


4318 - Line number wrong

Cause

This error can be caused by compiling a corrupted or outdated (from a previous version) precompiled package or header.

Resolution

Re-precompile all header files by selecting Precompile All Packages from the Tools menu of the Studio. Recompile your application. If the error subsists, check the subfolders of your workspace for precompiled copies of windows.pkg (windows.fld & windows.pkd) and dfallent.pkg (dfallent.fld & dfallent.pkd). If you find any, rename them, then recompile your application.


4319 - Macro buffer exceeded

Cause

  1. The size of the buffer for a single macro has been exceeded or too many commands are nested.
  2. Some coding error, such as a missing #EndCommand or missing #END.

Resolution

  1. Split the command into smaller pieces of code or nest fewer levels.
  2. Correct the coding error.

4320 - Missing argument


4321 - Missing END_CLASS

Cause

A class is missing its End_Class statement somewhere in the compiled code preceding the line that triggers the error.

Resolution

Add an End_Class statement to declare the end of the class code. The tricky part of this error is that it most likely will not be reported until the last line of the code, since that is when all Class and End_Class statements have been resolved. The usually simplest way of finding the actual place in the code where the End_Class statement is missing is to return to the last place(s) that were edited.

Example

Incorrect Code:

Object oArray1 is a Button
Procedure Construct_Object
    Forward Send Construct_Object
End_Procedure

Correct Code:

Object oArray1 is a Button
Procedure Construct_Object
    Forward Send Construct_Object
End_Procedure // Construct_Object
End_Class


4322 - Missing END_MESSAGE


4323 - Missing END_OBJECT

Cause

  1. An object is missing its End_Object statement somewhere in the compiled code preceding the line that triggers the error.
  2. This error can also be triggered by a missing End_Class statement.

Resolution

  1. Add an End_Object statement to declare the end of the objects code. The tricky part of this error is that it most likely will not be reported until the last line of the code, since that is when all Object and End_Object statements have been resolved. The usually simplest way of finding the actual place in the code where the End_Object statement is missing is to return to the last place(s) that were edited.

    Example of Incorrect Code:

    Object oButton1 is a Button
    

    Example of Correct Code:

    Object oButton1 is a Button
    End_Object // oButton1
    

  2. Add an End_Class statement to declare the end of the class code.

    Example of Incorrect Code:

    Object oArray1 is a Button
    Procedure Construct_Object
        Forward Send Construct_Object
    End_Procedure
    

    Example of Correct Code:

    Object oArray1 is a Button
    Procedure Construct_Object
        Forward Send Construct_Object
    End_Procedure
    End_Class
    


4324 - No active conditionals

This is a macro-compilation error.

Cause

This error can be triggered by an unbalanced #ENDIF.

Resolution

Make sure the #IF and #ENDIF statements in your code are balanced (matching sets).

Example

Incorrect Code:

#IF 0
...
#ENDIF
...
#ENDIF // Error 4324

Correct Code:

#IF 0
...
#ENDIF


4325 - Number expected


4326 - Pop past beginning of stack


4327 - Region size exceeded Data Area on Line:of File:

Cause

This occurs if the size of the data area is exceeded. The data area in a DataFlex program is limited to 8 MB. Typically, this means that the program contains lots of huge string literals or other constant data. String literals are anything enclosed in quotes.

Resolution

Check if the program may have an unusually large sets of string literals and/or excessively long string literals, which, when combined, exceed 8 MB.


4328 - Undefined symbol in argument

Cause

This error is usually caused by the declaration of an object as an instance of a class that has not been included in the source code before the object declaration.

Resolution

Include the Use statement for the class specified by

Example

Incorrect Code:

Object Cust_DD is a Customer_DataDictionary
End_Object

Correct Code:

// include the source code file that defines class Customer_DataDictionary
Use Customer.DD
Object Cust_DD is a Customer_DataDictionary
End_Object

In order not to trigger error 4328, the source code file that defines that class used must be included in the application that will be compiled.


4329 - Replace array corrupted


4330 - Reserved word used


4331 - Source not compatible


4332 - Symbol already defined

Cause

  1. A function or procedure with the same name is already defined as a global function or procedure.
  2. A function or procedure with the same name is already defined as an external_function or external_procedure.
  3. A reserved word is used as an identifier (e.g. variable name, property name, object name).
  4. An internal function name is used as an identifier (e.g. function or procedure name).

Resolution

  1. & 2. Rename one of the functions to resolve the duplication.
  2. Rename the identifier so it no longer conflicts with the reserved word.
  3. Rename the identifier so it no longer conflicts with the internal function.

Use Hungarian notation for naming identifiers as discussed in the Naming Conventions section of the help.


4333 - Too many commands


4334 - Too many Ifs


4335 - Too many indicators


4336 - Too many integers


4337 - Too many lines

Cause

A single continuous code statement has exceeded the allowed maximum number of characters.

Resolution

A single continuous compilable statement can consist of numerous lines of code of up to 255 characters each, continued from one line to the next using the semicolon (;) character.

Example

ShowLn ("This is a test of a continuous compilable statement made up " ;
        +"of several lines of code. " ;
        +"This is the third and last line of this example.")

4338 - Too many mask fill chars


4339 - Too many messages


4340 - Too many nested blocks

Cause

This error is triggered when the maximum number of nested control blocks has been exceeded. Control blocks are created by begin, repeat, and while commands, format commands using the range= option, and structured control commands, etc.

Resolution

The maximum number of control blocks which may be open is 30. Reduce the number of nested control blocks to be below the limit. This can sometimes be achieved by splitting complex code up into individual methods.


4341 - Too many pages


4342 - Too many stack levels

Cause

This error is triggered when the maximum number of stack levels has been exceeded. Stack levels are created by control blocks, among other things. Control blocks are created by begin, repeat, and while commands, format commands using the range= option, and structured control commands, etc.

Resolution

The maximum number of stack levels which may be open is 30. Reduce the number of stack levels to be below the limit. This can sometimes be achieved by splitting complex code up into individual methods.


4343 - String too long


4344 - Too many windows


4345 - Type check error

Cause

  1. Trying to assign the wrong data type to a variable.
  2. Attempting to assign a value into a constant.
  3. Calling a function without specifying a variable to accept the function's return argument.
  4. Attempting to declare a global variable declaration that specifies the length of a string in a method.
  5. U_ClassName.

Resolution

  1. Only move data to a variable that is the same type as the variable. In some cases, DataFlex will automatically convert the data to the new type without generating an error. Use this technique sparingly. In those cases, be very sure that the resulting value can only become what you expect it to be. Do thorough testing of this type of conversion.

  2. You cannot assign a value to a constant. Use a variable instead of a constant.

Example:

move sName to "Fred"

  1. Specifying a variable to accept the function's return argument.

Example:

Function Foo returns Integer
    Function_Return iVoid
End_Function
Procedure Goo
    Get Foo
End_Procedure

The above code does not specify a variable to hold Foo's return argument. This is the corrected code:

Function Foo returns Integer
Integer iVoid
    Function_Return iVoid
End_Function
Procedure Goo
Integer iRetVal
    Get Foo to iRetVal
End_Procedure
  1. Only global variable declarations can specify the size (length) of a string variable. Local variables are always the size specified by the global argument size. Any variable declared inside a method is automatically a local variable. Either:

a. Remove the size specification and leave the variable in the method, changing the global variable a local variable.

b. Move the global variable declaration outside any method.

c. Replace the global variable with a property, as proper object-oriented programming technique suggests.

  1. The class ClassName has not been defined in the code compiled so far.

4346 - Unequal parentheses

Cause

The number of opening and closing parentheses in an expression is not equal.

Resolution

Correct the expression to ensure the number of opening and closing parentheses is identical.

Example

Incorrect Code:

Integer i1 i2 i3
If ((i1 = i2) AND (i1 = i3) showln "condition is true"

The code above is missing a closing parenthesis at end of the expression:

Correct Code:

Integer i1 i2 i3
If ((i1 = i2) AND (i1 = i3)) showln "condition is true"


4347 - Unknown command

Cause

  1. A command in the source file (symbol_name) is not present in the DataFlex included command set, the program, and its packages.
  2. Misspellings frequently trigger this error.
  3. The file Flex.cfl is not accessible to the compiler.

Resolution

  1. Check to make sure you are including the source code file that contains the command named as using a Use or #INCLUDE statement. The online help topic for the command will tell you which file to include.

  2. Check the spelling of the command.

  3. Make sure Flex.cfl is in the Lib subfolder where DataFlex is installed and nowhere else. Make sure that an outdated version (from a prior version of DataFlex) of Flex.cfl is not found elsewhere (e.g. one of the subfolders of your workspace).


4348 - Unresolved control block

Cause

If you used a begin, for ... from ... to, repeat, or while command without a terminating end, loop, or until command, this error will be triggered. Review closure of control blocks in your source code. This is a command compilation error.

Resolution

Control blocks must exist in matching pairs. Verify that each control block's beginning has a matching ending statement. This can get complex due to control blocks being nested inside other control blocks. A simple method of making this easier to track down is to always indent control blocks, including nested object control blocks, so that matching beginning and ending statements line up in the same columns in the source code.


4349 - Window already formatted


4350 - Window already typed


4351 - Writing output


4352 - Undefined symbol in GROUP

Can occur if an undefined symbol, such as an undefined indicator evaluation, is used as an argument for an entry_item.


4353 - Undefined symbol in ENTRY


4366 - Cannot Create Overloaded Name

Cause

Bad/undefined parameter type name used with overloaded method.

Resolution

The parameter data type listed is undefined.

Example

Incorrect Code:

Procedure Test Overloaded Integer arg1 MyDataType arg2

where MyDataType is not defined. This is typically caused by a typo of a valid data type or attempting to reference a data type before it has been defined.


4390 - Illegal method name definition

Cause

1a. This method was previously defined as non-overloaded.
- or -
1b. This method was previously defined as overloaded.

Resolution

  1. You cannot define a method with the same name as overloaded and non-overloaded. See Method Overloading about more information on this topic.

4391 - Illegal code placement

Cause

This error means that some code was placed in a location where it is illegal, as defined in the DataFlex language. Examples of this include: - Nesting a class inside a method. - Nesting a method inside a method. - Placing a property declaration inside a method.

Resolution

Correct the illegal code placement. See the DataFlex Language Guide for language rules and syntax.


4392 - Invalid method syntax

  1. Missing keyword Returns on function declaration.

Example:

Function Foo
Integer iVoid
Function_Return iVoid
End_Function // Foo

The above function declaration is missing the Returns keyword, as well as a return type:

Correct Code:

Function Foo
Returns Integer
Integer iVoid
Function_Return iVoid
End_Function // Foo

  1. Missing return type after keyword Returns on function declaration.

Example:

Function Foo Returns
Integer iVoid
Function_Return iVoid
End_Function // Foo

The above function declaration is missing the return type following the Returns keyword:

Correct Code:

Function Foo Returns
Integer
Integer iVoid
Function_Return iVoid
End_Function // Foo


4393 - Invalid message syntax

This error message can be caused by various types of invalid message syntax. Please read the text or the error message for the specific cause and/or resolution.


4394 - Invalid object reference

This error message can be caused by various types of invalid message syntax. Please read the text or the error message for the specific cause and/or resolution.


4394 - Invalid object reference OBJECT .NOT. YET DEFINED

Cause

Attempt to reference an object that has not yet been defined in the code. This can be caused by:

  1. Referencing an object that will be declared later in the code.
  2. Referencing an object that does not exist in the code.

Resolution

  1. Either declare the object before the code that declares this error or use Register_Object to declare the object to be declared later in the compilation.
  2. You may have mistyped the object name or mistakenly addressed the wrong object.

4395 - Obsolete command is unsupported

Cause

Attempt to use an obsolete command that is no longer supported in DataFlex.

Resolution

Look up the command in question in the Language Reference's Obsolete section and replace it with the recommended non-obsolete method.


4396 - Invalid argument

This error message can be caused by various types of invalid arguments. Please read the text or the error message for the specific cause and/or resolution.


4397 - Illegal external function definition

Cause

This error message means that the External_Function name is already used as an internal function name.

Resolution

Change the External_Function name.


4501 - Incompatible Debug Information

Cause

The .DBG was compiled in a different revision of DataFlex.

Resolution

Recompile the program so that the .EXE and .DBG files are from the same revision of DataFlex.


4507 - Missing Array Indexer in Reference

Cause

Too few array indexers specified while attempting to reference an individual element. For example, only the first dimension was specified while attempting to access an individual element of a two-dimensional array.

Resolution

Address the array with the correct number of indexers (e.g., 2 for a two-dimensional array).


4514 - Obsolete or ambiguous syntax: "Can be array indexer or indicator. Left of '[' is not an array, use '(' if indicator"

Cause

This error occurs if left of [ is a variable reference but determined not to evaluate to type array. It can also occur if what's between [] is an indicator, and it's simply a case of two arguments. In which case, you can resolve this by enclosing the indicator with () instead.

Resolution

Example:

Procedure Foo integer iCustNumber Boolean bIsFound
:
End_Procedure

Procedure CallFoo
    open Customer
    find gt Customer by 1
    if (Found) begin
        indicate GotIt as (Customer.Status = "Active")
        send Foo Customer.Number [GotIt]
    end
End_Procedure

The above function call to Foo sends [GotIt], which will result in this error. The correct way to reference an indicator's value is to place it in parentheses, as shown below:

Correct Code:

Procedure Foo integer iCustNumber Boolean bIsFound
:
End_Procedure

Procedure CallFoo
    Boolean bGotIt
    open Customer
    find gt Customer by 1
    if (Found) begin
        if (Customer.Status = "Active") ;
            move True to bGotIt
        else ;
            move False to bGotIt
        send Foo Customer.Number bGotIt
    end
End_Procedure


4514 - Obsolete or ambiguous syntax: "Left of '.' is not of type struct or table"

Cause

This error occurs if left of . is a variable reference but determined not to evaluate to type struct or table column.

Resolution

Correct the incorrect syntax. Variables cannot contain a period character unless it is followed by a struct member or table column name.


4531 - Obsolete String Command

Cause

This error occurs if an obsolete string command is used. It will be followed by details about the obsolete command and what to use as a replacement.

The help for any obsolete command (obsolete commands cannot be found in the help index, but can be found via the help's search) will list more details regarding what to replace it with. A list of obsolete commands, functions, and symbols can be found here.

Resolution

Update the obsolete code with a suitable replacement. You can also use the compiler warning system to filter or ignore warnings. This is useful if you need to delay the replacement of obsolete code or want to focus on replacing specific obsolete code.


4532 - Obsolete Type Command

Cause

This error occurs if an obsolete type command is used. It will be followed by details about the obsolete command and what to use as a replacement.

The help for any obsolete command (obsolete commands cannot be found in the help index, but can be found via the help's search) will list more details regarding what to replace it with. A list of obsolete commands, functions, and symbols can be found here.

Resolution

Update the obsolete code with a suitable replacement. You can also use the compiler warning system to filter or ignore warnings. This is useful if you need to delay the replacement of obsolete code or want to focus on replacing specific obsolete code.


4533 - Obsolete Command

Cause

This error occurs if an obsolete command is used. It will be followed by details about the obsolete command and what to use as a replacement.

The help for any obsolete command (obsolete commands cannot be found in the help index, but can be found via the help's search) will list more details regarding what to replace it with. A list of obsolete commands, functions, and symbols can be found here.

Resolution

Update the obsolete code with a suitable replacement. You can also use the compiler warning system to filter or ignore warnings. This is useful if you need to delay the replacement of obsolete code or want to focus on replacing specific obsolete code.


4534 - Obsolete Global Function

Cause

This error occurs if an obsolete global function is used. It will be followed by details about the obsolete function and what to use as a replacement.

The help for any obsolete function (obsolete functions cannot be found in the help index, but can be found via the help's search) will list more details regarding what to replace it with. A list of obsolete commands, functions, and symbols can be found here.

Resolution

Update the obsolete code with a suitable replacement. You can also use the compiler warning system to filter or ignore warnings. This is useful if you need to delay the replacement of obsolete code or want to focus on replacing specific obsolete code.


4535 - Obsolete Technique

Cause

This error occurs if an obsolete technique is used. It will be followed by details about the obsolete technique and what to use as a replacement.

The help for any obsolete command (obsolete commands cannot be found in the help index, but can be found via the help's search) will list more details regarding what to replace it with. A list of obsolete commands, functions, and symbols can be found here.

Resolution

Update the obsolete code with a suitable replacement. You can also use the compiler warning system to filter or ignore warnings. This is useful if you need to delay the replacement of obsolete code or want to focus on replacing specific obsolete code.


4536 - Obsolete Package

Cause

This error occurs if an obsolete package is used. It will be followed by details about the obsolete package and what to use as a replacement.

The help for any obsolete code will list more details regarding what to replace it with. Obsolete packages may be listed in the Class Reference, but labeled as obsolete.

Resolution

Update the obsolete code with a suitable replacement. You can also use the compiler warning system to filter or ignore warnings. This is useful if you need to delay the replacement of obsolete code or want to focus on replacing specific obsolete code.


4537 - Obsolete Class

Cause

This error occurs if an obsolete class is used. It will be followed by details about the obsolete class and what to use as a replacement.

The help for any obsolete code will list more details regarding what to replace it with. Obsolete classes may be listed in the Class Reference, but labeled as obsolete.

Resolution

Update the obsolete code with a suitable replacement. You can also use the compiler warning system to filter or ignore warnings. This is useful if you need to delay the replacement of obsolete code or want to focus on replacing specific obsolete code.


4538 - Obsolete Indicator Use

Cause

This error occurs if an obsolete indicator-related code is used. It will be followed by details about the obsolete code and what to use as a replacement.

The help for any obsolete code (obsolete commands cannot be found in the help index, but can be found via the help's search) will list more details regarding what to replace it with. For example, the Indicator command help gives a quick overview of obsolete indicator code use and how to update it.

A complete list of obsolete commands, functions, and symbols can be found here.

Resolution

Update the obsolete code with a suitable replacement. You can also use the compiler warning system to filter or ignore warnings. This is useful if you need to delay the replacement of obsolete code or want to focus on replacing specific obsolete code.


4539 - Illegal Type Conversion

Cause

This error occurs when code is found that could result in a runtime error due to an illegal data type conversion.

Resolution

Correct the code to match the data type being passed.


4540 - Obsolete Global Object Function

Cause

This error occurs if an obsolete global function is used. It will be followed by details about the obsolete function and what to use as a replacement.

The help for any obsolete function (obsolete functions cannot be found in the help index, but can be found via the help's search) will list more details regarding what to replace it with. A list of obsolete commands, functions, and symbols can be found here.

Resolution

Update the obsolete code with a suitable replacement. You can also use the compiler warning system to filter or ignore warnings. This is useful if you need to delay the replacement of obsolete code or want to focus on replacing specific obsolete code.