Skip to content

Obsolete Error Messages

See also: Finding Specific Errors

Overview

The error numbers and messages listed in this document are obsolete in DataFlex for various reasons. Typically, these errors were added for specific revisions of DataFlex or for character-mode platforms other than Microsoft Windows (for example, UNIX, Linux, DOS).

You should rarely encounter the error numbers and messages listed here. However, legacy code that triggers these errors can still exist in some DataFlex applications, so they are documented for completeness.

Error list

The errors documented below are described in the following sections. (The original quick-navigation links were removed to avoid broken references; see the table of contents or use your viewer's search to jump to a specific error number.)


19 - Multi-user time out (busy too long)

This error has been replaced by error 4106 - Lock time-out in DataFlex.

Cause

Multi-user time out. The system is in a locked state for too long. Check that none of your programs performs a lock or reread without an unlock. On a very busy system, it is possible to get this error occasionally through no fault of the program.


35 - Program must be converted

Cause

If you have copied an application from another environment (MS-DOS to XENIX, UNIX to any other UNIX), compiled program files may not be compatible with the new environment. The program source code is compatible and may be made executable in the new environment by recompiling it there.


46 - Graphics mode not initialized

This error only applies to DataFlex revisions 2.3 and 3.01, which supported graphics commands in character-mode.

Cause

Most Graphics group commands require the graphic command to have been executed with its on option prior to the command. This error is triggered when such a command is used without graphic on having been executed first.


47 - Bad or missing graphics driver

This error only applies to DataFlex revisions 2.3 and 3.01, which supported graphics commands in character-mode.

Cause

If graphic on is executed, it must either specify a graphics device driver (*.DSP), or there must be a driver name in the value of system variable DFGRAPH_DRVR, or a default driver name must be installed through the Configuration Utility. If none of these conditions are met, this error is triggered. This error is also triggered when the named driver is not present on disk or is incorrectly named.

Resolution

Provide the driver name via one of the three methods listed above and ensure the driver file exists and is named correctly.


48 - Graphic commands not allowed

This error only applies to DataFlex revisions 2.3 and 3.01, which supported graphics commands in character-mode.

Cause

DataFlex supports graphics commands only in certain operating system environments. This error occurs when an attempt is made to execute such commands in an unsupported operating system environment.


49 - Demo version limitation exceeded — Buy a full license!

This error only applies to character-mode versions of DataFlex.


50 - Internal expression error

This error can only occur at compile time and not at runtime.

Cause

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

Resolution

Recompile the source code in the appropriate environment.


95 - Argument type not legal in ENTRY Command

This error only applies to character-mode revisions of DataFlex.

Cause

Legal argument types for the entry command are windows, database fields, expressions and options. If entry has a constant, variable, label, or df_filename as an argument, this error is triggered. Errors of this kind are frequently reported first at compile time.

Resolution

Use valid argument types for entry.


97 - Too many GOSUBs without RETURN

This error only applies to character-mode revisions of DataFlex and is obsolete.

Cause

For every gosub (or keyproc call) there must be a matching return. After 18 nested gosubs without returns, you will get error 97. Also, if your keyproc is called from within a subroutine, you must return to within that subroutine.

Resolution

Ensure every gosub has a matching return (use Gosub_Return where appropriate).


100 - Name_Object Must Precede Class Or Procedure

The use of Name_Object is obsolete.


101 - Unable to initialize TTS server for file

This error only applies to the DataFlex 2.3b Enhanced Runtime.


102 - Unable to set TTS mode for file

This error only applies to the DataFlex 2.3b Enhanced Runtime.


102 - Sub_Page !1 Already Defined As A Physical Image


102 - Line Number Out Of Sequence

This is a command compilation error.

Cause

Compiling a corrupted or outdated (from a previous version) precompiled package or header can trigger this error.

Resolution

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

103 - 2yr dates, run CONV2000 to fix datafile

This error only applies to the DataFlex 2.3b Enhanced Runtime.

The equivalent error message for DataFlex is error 4354: "Dates are unconverted."


104 - Duplicate Variable Defined

Cause

The same variable is defined twice with different types. This is a coding error and a command compilation error.

Resolution

Rename one of the variables to remove the conflict.


104 - Fatal Error

This is a command compilation error.

Cause

Maximum number of image windows was exceeded. This should only occur in legacy code using images (for example, BasicReport).

Resolution

Reduce the number of image windows in your application.


105 - Invalid Parameter !4

105 - Invalid Parameter !6

105 - Parameter Duplication !4 !6

(These messages indicate invalid or duplicated parameters supplied to a command.)


105 - Is Not A Valid Type/Class

This is a command compilation error.

Cause

Internal compiler conflict caused by a coding error. The offending term is displayed in the message in place of the identifier (e.g., symbol_name).

Resolution

Check the spelling of the identifier. Verify that the identifier is a valid type/class.


106 - Error In Closing .exe File on Line: line_number

Cause

  1. Operating system error (disk or folder full).
  2. Lack of write rights in the location where the compiled file is to be created.
  3. Missing ProgramPath value in the workspace (.WS) file.

This is a command compilation error.

Resolution

  1. Ensure that adequate disk space is available.
  2. Grant write rights to the output directory or change the ProgramPath in the workspace (.WS) file to a directory with write rights.
  3. Add or correct the ProgramPath value in the workspace (.WS) file.

106 - Error In Creating .exe File On Line: line_number

This is a compiler initialization error.

Cause

  1. Lack of write rights in the location where the compiled file is to be created.
  2. Missing ProgramPath value in the workspace (.WS) file.

Resolution

  1. Grant write rights to the directory or change the ProgramPath to a directory with write permission.
  2. Add a ProgramPath value to the workspace (.WS) file.

108 - Open Parenthesis Expected

This is a command compilation error.

Cause

Start of an expression not found.

Resolution

Add parentheses around the expression as required.


109 - Unequal Parentheses

This is a command compilation error.

Cause

End of an expression not found (unmatched parentheses).

Resolution

Add the missing closing parenthesis. Use the Match Parenthesis option in the Studio to verify matching parentheses.


111 - Undefined Symbol In Argument

This is a command compilation error.

Cause

Internal compiler conflict or an unresolved symbol (often caused by a typo or incorrect symbol usage).

Resolution

  1. Define the symbol before use or correct the symbol used.
  2. Check the spelling of the symbol.

Example

Incorrect code:

if Found send Info_Box "Found is True"

Correct code:

if (Found) send Info_Box "Found is True"

In the correct code, the Found indicator is enclosed in parentheses and thus evaluated as an expression.


111 - Undefined Symbol U_!1 In Argument


111 - Undefined Symbol U_!2 In Argument


112 - Undefined Symbol In Entry Or Form Command

Formatting options are obsolete and should be replaced with DataDictionary-based equivalents. entry is obsolete and should be replaced with a Data Entry Object (DEO). accept is obsolete and should be replaced with a Windows Control (for example, a Form control).

This is a command compilation error.

Cause

An entry, accept, display, print, or format command was used with an undeclared argument. The triggering characters are usually within the braces {} for a format option. This error is also triggered when a format option is directed to a window that has already been addressed by another format option.

Resolution

Declare the required symbols, use DataDictionary-based formatting, or convert legacy entry/accept usage to modern Windows controls or DEOs.


117 - Unresolved Begin, For, Repeat or While

Cause

A begin, for ... from ... to, repeat, or while command was used without a terminating end, loop, or until. This is a command compilation error.

Resolution

Ensure control blocks exist in matching pairs. Indent control blocks (including nested object control blocks) so that matching beginning and ending statements line up.


120 - Missing End_Procedure or End_Function command

Cause

A procedure or function command was compiled without a matching end_procedure or end_function. This is a command compilation error.

Resolution

Make sure each Procedure statement is followed by a matching End_Procedure and each Function statement is followed by a matching End_Function.


121 - Missing <character>

Cause

An opening character (left brace, left bracket, etc.) was used but the closing character was not found on the command line. This is a command compilation error.

Resolution

Ensure all brackets and parentheses in a code command line are matching pairs. Use the Match Parenthesis option in the Studio.


122 - Line Too Long

Cause

A single continuous code statement has exceeded the allowed maximum number of characters (see Visual DataFlex specifications).

This is a macro-compilation error.

Resolution

Reduce line length by splitting the statement into multiple lines or refactoring the code.


126 - Too Many Mask Fill Characters Defined

The Fill= print format option is obsolete.

Cause

The window output format option fill= may be used for up to eight different characters within a single program. This error occurs if more than eight different fill characters are provided. This is a macro-compilation error.

Resolution

Reduce the number of different fill characters used in the program.


127 - Invalid Character Found In Page Name

Cause

This is a form compilation error.

  1. After the slash, the first character of a page name must be a letter, followed by any characters except / : ; , ( ) [ ] { }. Numbers, periods and underscores may be used.
  2. Sometimes caused by accidentally omitting the second slash required to comment out a line of code.

Resolution

  1. Change the name of your image to a legal name.
  2. Add the second slash to comment out the line if that was intended.

129 - Too Many User-Defined Indicators Found

Cause

DataFlex provides up to 89 user-defined indicators, plus 38 predefined. Exceeding this number triggers the error. This is a macro-compilation error.

Resolution

Reduce the number of indicators used. Indicators are largely obsolete and can often be replaced with boolean variables or properties.


130 - Reserved Word Used

Cause

A reserved word (command, option, system variable, system indicator, etc.) appears in a position where it is not allowed.

Resolution

Rename the identifier to avoid reserved words. This is a macro-compilation error.


130 - Variable Must Be Declared

Cause

An argument encountered must be a variable but has not been declared with number, string, integer, date, real, or indicator. This is a macro-compilation error.

Resolution

Declare the variable with the appropriate type.


150 - Macro Buffer Size Exceeded

Cause

Macros as defined are too large to fit in available buffer space, usually the result of a syntax error. This is a macro-compilation error.

Resolution

Check for syntax errors. Using the Compiler Option M may permit compilation with a larger macro-expansion buffer.


151 - Include File Not Found

Cause

The file specified for inclusion with Use or #INCLUDE cannot be found along the MakePath. This is a macro-compilation error.

Resolution

Check the filename for misspelling and ensure the file is available along the MakePath.


152 - Unequal Parentheses In Expression

Cause

Open and close parentheses not matched. This is a macro-compilation error.

Resolution

Add the missing closing parenthesis. Use the Match Parenthesis option in the Studio.


155 - Indicator Not Resolved: symbol_name

Cause

An indicator used has not been defined. This is a macro-compilation error.

Resolution

Verify the indicator is declared prior to use and check the spelling.


155 - Too Many Indicators

Cause

More than 3 indicators on a single line exceeded. This is a macro-compilation error.

Resolution

Reduce indicators per line and split the line if needed.


156 - No Active Conditionals

This is a macro-compilation error.

Cause

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

Resolution

Add a matching #IF for the #ELSE.


157 - Forward Reference: symbol_name Not Resolved

This is a macro-compilation error.

Cause

  1. A label (for goto or gosub) was not found—often caused by spelling inconsistencies.
  2. A message name is used but not defined in the object or its class heritage.

Resolution

  1. Check spelling and existence of labels (or internal goto/gosub uses).
  2. Check method calls and method names; ensure the object is in the correct object neighborhood or declare a Register_Procedure / Register_Function if the method is defined later (ensure the method actually exists to avoid runtime errors).

159 - Too Many Stack Levels

This is a macro-compilation error.

Cause

The maximum number of control blocks (stack levels) has been exceeded. Control blocks are created by begin, repeat, while, format commands using the range= option, and structured control commands among others.

Resolution

The maximum number of control blocks is 30. Reduce nested blocks or split complex code into separate methods.


160 - Pop Past Beginning

Cause

A control block terminator appears without a preceding initializer (for example, end without begin, until/loop without repeat). This is a macro-compilation error.

Resolution

Ensure matching pairs of control block start and end statements. Indentation helps locate mismatches.


162 - Too Many Arguments To Runprogram

Cause

Too many arguments were passed to runprogram.

Resolution

See the documentation for runprogram and correct your syntax. If you need to pass multiple arguments to the spawned program, enclose all of them in quotes to make them a single argument passed to runprogram.

Example

The following example demonstrates passing multiple parameters to an external program as a single argument.

Incorrect (passes each argument to runprogram separately):

runprogram background "AddToShoppingCart.exe" "SmithJohn1234" "NavySweaterNS34XL" "19.95"

Correct (concatenate the program's arguments into one string argument passed to runprogram):

string sCustId sItemStockNum nPrice
move "SmithJohn1234" to sCustId
move "NavySweaterNS34XL" to sItemStockNum
move 19.95 to nPrice
runprogram background "AddToShoppingCart.exe" (sCustId+" "+
sItemStockNum+" "+(string(nPrice)))

162 - Type Check Error In Argument: Argument Required

This is a macro-compilation error.

Cause

The command was issued with fewer than the minimum required number of arguments.

Resolution

Check the help for the command and verify the required number of arguments.


162 - Type Check Error In Argument: Constant Not Allowed

This is a macro-compilation error.

Cause

A constant was used in a command that does not accept constants.

Resolution

Use an allowed argument type. Check the command help.


162 - Type Check Error In Argument: Date Not Allowed

This is a macro-compilation error.

Cause

A date or date variable was used where dates are not allowed.

Resolution

Use the correct data type as required by the command.


162 - Type Check Error In Argument: Expression Not Allowed

This is a macro-compilation error.

Cause

An expression was used where expressions are not allowed.

Resolution

Use a literal or variable as required by the command.


162 - Type Check Error In Argument: File Element Not Allowed

This is a macro-compilation error.

Cause

A file element was used in a command which does not accept file elements.

Resolution

Use an appropriate parameter type per the command documentation.


162 - Type Check Error In Argument: Gp Indicator "[]" Not Allowed

This is a macro-compilation error.

Cause

A Gp indicator ([ or ]) was used in a command not accepting Gp indicators.

Resolution

Use appropriate indicator types as documented.


162 - Type Check Error In Argument: Group Not Allowed

This is a macro-compilation error.

Cause

A group was used in a command which does not accept groups.

Resolution

Use the correct argument type per the command.


162 - Type Check Error In Argument: Indicator Not Allowed

This is a macro-compilation error.

Cause

An indicator was used in a command that does not accept indicators.

Resolution

Use the proper argument type.


162 - Type Check Error In Argument: Integer Not Allowed

This is a macro-compilation error.

Cause

An integer or integer variable was used where integers are not accepted.

Resolution

Use an acceptable type for the command.


162 - Type Check Error In Argument: Invalid Literal

This is a macro-compilation error.

Cause

An invalid literal was used as an argument.

Resolution

Use a valid literal or variable as required.


162 - Type Check Error In Argument: Label Not Allowed

This is a macro-compilation error.

Cause

A label was used in a command that does not accept labels.

Resolution

Use an acceptable parameter as specified in the command help.


162 - Type Check Error In Argument: Must Be An Indicator

This is a macro-compilation error.

Cause

A command requires the use of an indicator, but a different argument type was provided.

Resolution

Provide an indicator as the argument.


162 - Type Check Error In Argument: Must Be Defined

This is a macro-compilation error.

Cause

An identifier was used that has not yet been defined.

Resolution

Define the identifier and check spelling.


162 - Type Check Error In Argument: Number Not Allowed

This is a macro-compilation error.

Cause

A number or numeric variable was used where numbers are not accepted.

Resolution

Use the correct argument type.


162 - Type Check Error In Argument: Option {} Not Allowed

This is a macro-compilation error.

Cause

A { or } option was used where option braces are not supported.

Resolution

Use only supported options for the command.


162 - Type Check Error In Argument: Should Not Be Defined

This is a macro-compilation error.

Cause

An argument that must not be defined was provided as defined.

Resolution

Remove the definition or pass an acceptable argument.


162 - Type Check Error In Argument: String Not Allowed

This is a macro-compilation error.

Cause

A string was used where strings are not accepted (for example, numeric-only parameters).

Resolution

Use the correct data type as required.


162 - Type Check Error In Argument: Too Many Arguments

This is a macro-compilation error.

Cause

Multiple arguments were used with a command that allows only one, or the allowed number was exceeded.

Resolution

Check the command help and reduce the number of arguments accordingly.


162 - Type Check Error In Argument: Variable Not Allowed

This is a macro-compilation error.

Cause

A variable name was used in a command which cannot handle variables.

Resolution

Use an allowed literal or identifier instead.


162 - Type Check Error In Argument: Window Not Allowed

This is a macro-compilation error.

Cause

A window was used where windows are not accepted.

Resolution

Use the correct parameter type for the command.


164 - Command Not Found: symbol_name

Cause

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

Resolution

  1. Ensure you include the source file containing the command using Use or #INCLUDE. The online help topic for the command will indicate 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 that no outdated copies of Flex.cfl exist elsewhere (for example, in workspace subfolders).

170 - Cannot Replace To Itself

This is a macro-compilation error.

Cause

Invalid replacement logic, often due to misuse of reserved words or syntax errors.

Resolution

Correct the replacement logic and resolve syntax issues.


170 - Window Was Already Typed

This is a macro-compilation error.

Cause

Conflicting format or typing operations were applied to a window.

Resolution

Remove the duplicate type or format usage for the window.


171 - Window Cannot Be Typed

Formatting options are obsolete and should be replaced with DataDictionary-based equivalents.

This is a macro-compilation error.

Cause

Conflicting format options on a single window (for example, {check="yn"} with {range=0,9} excludes all input). Also, any range= or check= option is prohibited on windows used to accumulate totals for subtotal or % subtotal accumulators.

Resolution

Remove conflicting or inappropriate format options and convert legacy formatting to DataDictionary-based solutions.


172 - Too Many Nested Blocks

Cause

The maximum number of control blocks has been exceeded. Control blocks are created by begin, repeat, while, format commands using range=, and other structured control commands.

Resolution

The maximum number of control blocks that may be open is 30. Reduce nested blocks or split complex code into individual methods.


175 - Source Incompatible with Compiler on Line line_number

This is a macro-compilation error.

Cause

  1. A #CHKSUB directive specified a subsystem revision level that does not match the compiler's revision level.
  2. An old flex.cfl file (from a prior revision) is found along the DFPATH.

Resolution

  1. Check the source code at the listed line for compliance with the appropriate revision level and review #CHKSUB arguments.
  2. Ensure only one flex.cfl is present (the one in the DataFlex lib folder) and remove or rename old copies in workspace folders.

199 - Symbol(s) Already Defined

This is a macro-compilation error.

Cause

A string, number, integer, date, real, or indicator command is executed for a global variable name already defined.

Resolution

Give all global variables unique names regardless of type. Use naming conventions (for example, Hungarian notation) to avoid conflicts.


300 - Msg already defined as a Global method

Cause

A procedure is already defined as a global procedure.

Resolution

Rename the new procedure.


300 - Get already defined as a Global method

Cause

A function is already defined as a global function.

Resolution

Rename the new function.


300 - Class/End_Class should Not Be Inside a Method

Cause

A Class or End_Class statement is located inside a method.

Resolution

Classes cannot be defined inside methods. Move the class declaration outside of any procedures or functions.


300 - Classes Cannot Be Nested Within Classes

Cause

A Class or End_Class statement is located inside a class.

Resolution

Classes cannot be defined inside other classes. Move the class declaration outside of any other class.


300 - Classes Cannot Be Nested Within Methods

Cause

A Class or End_Class statement is located inside a method.

Resolution

Move the class declaration outside the method.


300 - Construct_Object Not Allowed In Objects

Cause

A Construct_Object statement is located inside an object.

Resolution

Construct_Object is part of the class constructor and must be used in classes. Move the construct_object statement to a class or subclass an existing class to contain the construct_object code.

Reference: Construct_Object


300 - End_Class Without Class

Cause

An End_Class statement is missing its matching Class statement, or a Class statement is placed in an illegal area (such as inside another class or a method).

Resolution

Ensure Class and End_Class statements exist in matching pairs and are placed in legal locations.


300 - End_Funct/End_Proc Command Not Within A Method

Cause

An End_Procedure or End_Function statement is located inside a method.

Resolution

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


300 - End_Object Expected Before End_Class

Cause

An Object statement nested inside a class is missing its matching End_Object statement, or the End_Object has been misplaced outside the class declaration.

Resolution

Ensure Object and End_Object statements exist in matching pairs and are correctly nested inside the class declaration.


300 - End_Object Without Object

Cause

An End_Object statement is missing its matching Object statement.

Resolution

Ensure each Object has a matching End_Object. Indentation helps identify nesting errors.


300 - End_Object Without Object In Method

Cause

  1. An object is missing its End_Object statement.
  2. The error can also be caused by a missing ending statement of a procedure or function preceding the line that triggers the error.

Resolution

  1. Add the missing End_Object statement.
  2. Add any missing procedure or function ending statement.

Example

Incorrect:

Object oButton1 is a Button
Procedure OnClick
End_Object  // oButton1

Correct:

Object oButton1 is a Button
Procedure OnClick
End_Procedure  // OnClick
End_Object     // oButton1

300 - Expecting Identifier After Type In Method Declaration

(Indicates a missing identifier following a type in a method declaration.)


300 - Global Functions/Procedures Cannot Be Overloaded

(Indicates attempts to overload global procedures or functions, which is not supported.)


300 - Global Method !1 !2 Already Defined

Cause

A global procedure is already defined earlier in the code.

Resolution

Rename the new global procedure to avoid duplicate names.


300 - Invalid Object Reference

(Indicates an object reference that cannot be resolved.)


300 - Invalid Position For '!1'

(Indicates a construct is in an invalid position in the source code.)


300 - Keyword Overloaded Cannot Be Between A Type And An Identifier

(Indicates misplacement of the overloaded keyword.)


300 - Local Variables Can Only Be Defined Within Methods

(Indicates local variable declarations outside of methods.)


300 - Messages In Class Should Be In Method

(Indicates messages are declared directly in class scope rather than inside a method.)


300 - Method Return Not Within A Method

(Indicates a Method return construct used outside a method.)


300 - Methods Not Allowed In Class Child-Objects

(Indicates methods declared in class child objects where not permitted.)


300 - Missing Identifier Before Returns Keyword

Missing return type after the Returns keyword on a function declaration.

Example

Incorrect:

Function Foo Returns
Integer iVoid
Function_Return iVoid
End_Function // Foo

Correct:

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

300 - Missing Type In Method Declaration

(Indicates a missing type in a method declaration.)


300 - Objects In Classes Should Be Within A Method

(Objects declared in classes must be declared within a method such as Construct_Object.)


300 - Procedures And Functions May Not Be Nested

(Indicates nested procedures/functions, which is not allowed.)


300 - Returns Must Be Followed By A Return Type

(Indicates a Returns keyword without a return type.)


300 - This Method Was Previously Defined As Not Overloaded

(Indicates conflicting overload declarations of a method.)


300 - This Method Was Previously Defined As Overloaded

(Indicates conflicting overload declarations of a method.)


300 - Type Follows Type In Declaration

(Indicates two types provided consecutively where an identifier was expected.)


300 - Unexpected Symbol Encountered After Return Type In Method Declaration

(Indicates unexpected tokens after the return type.)


300 - "Unknown type for local variable"

(Indicates a local variable declared with an unknown type.)


300 - "Unknown Type!"

(General unknown type error.)


301 - Global Variable Defined In Method

(Indicates a global variable declaration placed inside a method.)


301 - Obsolete Syntax: Get/Set Form_Xxx To X Y

(Indicates legacy get/set syntax that should be updated.)


301 - Old Style Usage: No Item Keyword. Is Replacement For .Current. Or 0

(Indicates old-style item referencing that should be modernized.)


301 - Old Style Usage: Possible Global Variable In Method

(Indicates potential accidental global variable declaration inside a method.)


301 - Old Style Usage: S/B Gosub_Return

Cause

Return is now used to terminate procedures and functions, not to return execution from a subroutine call.

Resolution

Use the Gosub_Return command to return execution from a subroutine call. Ideally, replace obsolete procedural gosub/gosub_return code with object-oriented methods.

Reference: Gosub_Return


302 - Class Property Must Be Defined Within A Constructor Procedure

Cause

A property is defined in a class but outside of a constructor method.

Resolution

Define class properties inside a Construct_Object method.

Reference: Construct_Object


302 - Invalid Use Of 'Of'

(Indicates incorrect usage of the of keyword.)


302 - Messages In Class Should Be In Method

(Indicates messages should be declared inside methods rather than in class scope.)


302 - Missing 'To' Keyword

Cause

  1. The to keyword is missing before the return value argument in a function call.
  2. The to keyword is missing before the argument in a get or set statement for a property.

Resolution

Ensure the to keyword precedes the return argument or the get/set argument.


302 - No Value Following 'To'

Cause

  1. No argument follows the to keyword in a function call.
  2. No argument follows the to keyword in a get or set statement.

Resolution

Provide an argument after to.


302 - Object Property Should Not Be In A Method

Cause

A property was defined inside a method.

Resolution

Define properties outside methods—inside the containing object or class. To create properties for objects created in a class, define them in the object's superclass.


302 - Object/End_Object Within Class Should Be In A Method

Cause

An object defined inside a class is declared outside of any method.

Resolution

Objects defined inside a class must be declared inside a method (commonly Construct_Object).


302 - Property Can Only Be Defined Within A Class Or Object

Cause

A property is defined outside any object or class.

Resolution

Move the property declaration inside a class or object.


302 - Property Cannot Be Defined In An Object Within A Class

Cause

A property is defined in an object that is defined in a class (instead of in the class itself).

Resolution

Define properties for the class outside of its child objects. To create properties for an object created in a class, define them in the superclass of that object.


302 - Too Many Params After 'To'

Cause

More than one argument follows the to keyword in a function call.

Resolution

Only one argument should follow to — the variable that receives the return value. Function input arguments should be listed before the to keyword.

Example

Incorrect:

Function Foo string s1 string s2 returns Boolean
Boolean bRetVal
:
Function_Return bRetVal
End_Function

Procedure DoSomething
Boolean bRetVal
string sArgument1 sArgument2
get Foo to bRetVal sArgument1 sArgument2
End_Procedure

Correct:

Function Foo string s1 string s2 returns Boolean
Boolean bRetVal
:
Function_Return bRetVal
End_Function

Procedure DoSomething
Boolean bRetVal
string sArgument1 sArgument2
get Foo sArgument1 sArgument2 to bRetVal
End_Procedure

302 - Too Many 'To'

Cause

The to keyword is duplicated in a get or set statement.

Resolution

Remove the duplicate to.


302 - Unusual Usage: Variable Or Expression Used As Message

(Indicates a variable or expression is used where a message identifier is required.)


777 - Object Is Missing Begin_Row...End_Row Commands

Cause

The object's class syntax requires a Begin_Row ... End_Row block. This is a command compilation error.

Resolution

Add the required Begin_Row/End_Row block to the object definition.


778 - If FileName Is A FileName It Is Unopened

Cause

  1. A database table filename specified was not found.
  2. A referenced table required to be a DataDictionary object (DDO) main_file has not been specified as such.

This is a command compilation error.

Resolution

  1. Check the filename for misspelling and check the folders along the MakePath for the table. Recreate the .FD file for the database table if needed.
  2. Set the database table as the DataDictionary object main_file if required.

779 - Missing Keyword "Of"

(Indicates the of keyword is missing where required.)


779 - Missing Keyword "To"

(Indicates the to keyword is missing where required.)


998 - Unknown Field: !2

(Indicates a referenced field is unknown or not found in the table definition.)


998 - Unknown Field: !6

(Indicates another unknown field placeholder.)


1000 - Duplicate Item Name

(Indicates duplicate item names in a menu or other item list.)


1000 - Invalid Argument: "Begin_Pull_Down" Requires Menu_System Package

(Indicates Begin_Pull_Down requires inclusion of the Menu_System package.)


1000 - Name Already Defined

(Indicates a name conflict with an existing symbol.)


1001 - "Attempt To Redefine Symbol For Different Value"

(Indicates an attempt to redefine a symbol with a different value.)


1001 - End_Enumeration_List Without Enumeration_List Command

(Indicates End_Enumeration_List without a matching Enumeration_List.)


1001 - Enumeration Lists Cannot Be Nested

Cause

An attempt was made to nest enumeration lists.

Resolution

Enumeration lists cannot be nested. Ensure each enumeration list has matching Enum_List and End_Enum_List statements.

Reference: Enum_List and End_Enum_List


1001 - Enumeration Value Must Be A Constant

Cause

A non-constant value was attempted to be added to an enumeration list.

Resolution

Enumeration lists accept only constants. Use define to create named constants if needed.

Reference: Define


4132 - UIMS subsystem not compatible

This error only applies to character-mode versions of DataFlex.


4137 - Can't find file to pack

This error applies to the DFPack utility of character-mode DataFlex.


4158 - Can't fork child process

This error only applies to character-mode versions of DataFlex.


4169 - Operation not supported by OS

This error only applies to character-mode versions of DataFlex.


4178 - User already logged in

This error only applies to the DataFlex Server Edition (DSE).


4186 - Too many files open on server

This error only applies to the DataFlex Server Edition (DSE).


4187 - Can't open administration file

This error only applies to the DataFlex Server Edition (DSE).


4188 - Can't close administration file

This error only applies to the DataFlex Server Edition (DSE).


4189 - Can't find user account

This error only applies to the DataFlex Server Edition (DSE).


4190 - No more groups defined

This error only applies to the DataFlex Server Edition (DSE).


4191 - Can't add user to server

This error only applies to the DataFlex Server Edition (DSE).


4192 - User already exists

This error only applies to the DataFlex Server Edition (DSE).


4193 - No more users defined

This error only applies to the DataFlex Server Edition (DSE).


4194 - Can't find group

This error only applies to the DataFlex Server Edition (DSE).


4195 - Group already exists

This error only applies to the DataFlex Server Edition (DSE).


4196 - Can't add group to server

This error only applies to the DataFlex Server Edition (DSE).


4197 - Can't add user to group

This error only applies to the DataFlex Server Edition (DSE).


4198 - User already in group

This error only applies to the DataFlex Server Edition (DSE).


4199 - Too many groups for this user

This error only applies to the DataFlex Server Edition (DSE).


4201 - User not in group

This error only applies to the DataFlex Server Edition (DSE).


4202 - Deadlock detected

This error only applies to the DataFlex Server Edition (DSE).


4203 - File is corrupt

This error only applies to the DataFlex Server Edition (DSE).


4204 - Extended server edition error

This error only applies to the DataFlex Server Edition (DSE).


4205 - Unable to access server file

This error only applies to the DataFlex Server Edition (DSE).


4206 - Can't identify specified server

This error only applies to the DataFlex Server Edition (DSE).


4207 - Bad user handle

This error only applies to the DataFlex Server Edition (DSE).


4208 - Bad group handle

This error only applies to the DataFlex Server Edition (DSE).


4209 - Invalid administration handle

This error only applies to the DataFlex Server Edition (DSE).


4210 - Can't update user definition

This error only applies to the DataFlex Server Edition (DSE).


4211 - Not enough server memory

This error only applies to the DataFlex Server Edition (DSE).


4212 - Can't delete user definition

This error only applies to the DataFlex Server Edition (DSE).


4213 - Login failed

This error only applies to the DataFlex Server Edition (DSE).


4214 - Can't update group definition

This error only applies to the DataFlex Server Edition (DSE).


4215 - Can't delete group definition

This error only applies to the DataFlex Server Edition (DSE).


4219 - Permission denied

This error only applies to the DataFlex Server Edition (DSE).


4225 - Can't delete .TAG file

This error only applies to the DataFlex Server Edition (DSE).


4226 - Not in a transaction state

This error only applies to the DataFlex Server Edition (DSE).


4227 - Already in a transaction state

This error only applies to the DataFlex Server Edition (DSE).


4228 - The server is down

This error only applies to the DataFlex Server Edition (DSE).


4230 - Protocol not supported

This error only applies to the DataFlex Server Edition (DSE).


4231 - Default login unsuccessful

This error only applies to the DataFlex Server Edition (DSE).


4232 - No transaction processing allowed

This error only applies to the DataFlex Server Edition (DSE).


4239 - Can't SYSTEM while in a transaction

The system command is obsolete.

Cause

A system command was attempted during a transaction.

Resolution

Commands that execute another program (for example, runprogram) or exit a program (for example, abort, exit_application) are not allowed during a database transaction. A transaction is a lock...unlock, reread...unlock, or begin_transaction...end_transaction block of code.

Reference: System, Runprogram, Abort, Exit_Application, Begin_transaction, End_transaction


4240 - Server cannot open a local table

This error only applies to the DataFlex Server Edition (DSE).


4241 - Maximum number of server logins exceeded

This error only applies to the DataFlex Server Edition (DSE).


4245 - Server communications error

This error only applies to the DataFlex Server Edition (DSE).


4246 - Can't delete administrative user ID

This error only applies to the DataFlex Server Edition (DSE).


4247 - Can't delete administrative group ID

This error only applies to the DataFlex Server Edition (DSE).


4248 - Invalid DSE server serial number

This error only applies to the DataFlex Server Edition (DSE).


4249 - Not a DataFlex Server Edition License

This error only applies to the DataFlex Server Edition (DSE).


4250 - Must be administrative user (ADMIN)

This error only applies to the DataFlex Server Edition (DSE).


4288 - File not on Netware TTS enabled server System

Cause

  • Attempt to set a table's transaction type to server atomic for a table not on a TTS-capable Novell volume.
  • A program opens a table flagged for TTS that is not on a TTS-capable volume.
  • File is set to SERVER_ATOMIC and the NetWare redirector drivers are not installed.

Resolution

  • Move the table to a Novell TTS-enabled volume.
  • Set the table's transaction type to server atomic if appropriate.
  • Ensure NetWare redirector drivers are installed.
  • Ensure all related files (.DAT, .HDR, .K??, .VLD) are flagged for TTS.

4293 - Bad image name

Cause

  1. Illegal characters in the image name.
  2. Leading spaces to the left of the image name.

This should only occur in legacy code using images (for example, BasicReport).

Resolution

  1. Use only legal ASCII characters (letters and numbers) in image names. Do not use spaces.
  2. If the Studio indents the report source and causes this, move the report to a separate source file and #INCLUDE it where needed.

Reference: INCLUDE


4359 - Wrong Version of COM Object

This error only applies to Web Application Server 3.x and prior revisions.


4360 - Cannot Handshake With WebApp

This error only applies to Web Application Server 3.x and prior revisions.


4363 - Bad Format of Evaluation DLL

This error only applies to Web Application Server 3.x and prior revisions.


4364 - Web Deployment Server Expired

This error only applies to Web Application Server 3.x and prior revisions.


4412 - Serial Communications (SerialComm) error

Numerous DDE packages, including SerComm.pkg, were removed from DataFlex as of revision 9.1 because they are no longer supported.


28670 - Registration not valid for this processor

This error code is obsolete and applies only to character-mode versions of DataFlex.


28673 - No TERM setting

This error code is obsolete and applies only to character-mode versions of DataFlex.


28674 - Unknown terminal type

This error code is obsolete and applies only to character-mode versions of DataFlex.


28675 - Unable to open console device

This error code is obsolete and applies only to character-mode versions of DataFlex.


28677 - Console size must be at least 24 by 80 to run this utility

This error code is obsolete and applies only to character-mode versions of DataFlex.


28683 - This terminal/OS does not support SCO ODT 2.0 scancodes

This error code is obsolete and applies only to character-mode versions of DataFlex.


28684 - This terminal has insufficient capabilities to run DataFlex

This error code is obsolete and applies only to character-mode versions of DataFlex.


28685 - Terminfo entry is larger than 4,096 bytes and cannot be loaded

This error code is obsolete and applies only to character-mode versions of DataFlex.


28686 - Terminfo entry is not readable

This error code is obsolete and applies only to character-mode versions of DataFlex.


28687 - Terminfo entry is unaccessible

This error code is obsolete and applies only to character-mode versions of DataFlex.


28688 - Terminfo entry is corrupted

This error code is obsolete and applies only to character-mode versions of DataFlex.


28689 - Full path to terminfo file is too long

This error code is obsolete and applies only to character-mode versions of DataFlex.