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) anddfallent.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
- Operating system error (disk or folder full).
- Lack of write rights in the location where the compiled file is to be created.
- Missing ProgramPath value in the workspace (.WS) file.
This is a command compilation error.
Resolution
- Ensure that adequate disk space is available.
- Grant write rights to the output directory or change the ProgramPath in the workspace (.WS) file to a directory with write rights.
- 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
- Lack of write rights in the location where the compiled file is to be created.
- Missing ProgramPath value in the workspace (.WS) file.
Resolution
- Grant write rights to the directory or change the ProgramPath to a directory with write permission.
- 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
- Define the symbol before use or correct the symbol used.
- 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.
- 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. - Sometimes caused by accidentally omitting the second slash required to comment out a line of code.
Resolution
- Change the name of your image to a legal name.
- 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
- A label (for
gotoorgosub) was not found—often caused by spelling inconsistencies. - A message name is used but not defined in the object or its class heritage.
Resolution
- Check spelling and existence of labels (or internal
goto/gosubuses). - Check method calls and method names; ensure the object is in the correct object neighborhood or declare a
Register_Procedure/Register_Functionif 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
- A command in the source file (
symbol_name) is not present in the DataFlex included command set, the program, or its packages. - Misspellings frequently trigger this error.
- The file
Flex.cflis not accessible to the compiler.
Resolution
- Ensure you include the source file containing the command using
Useor#INCLUDE. The online help topic for the command will indicate which file to include. - Check the spelling of the command.
- Make sure
Flex.cflis in thelibsubfolder where DataFlex is installed and that no outdated copies ofFlex.cflexist 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
- A
#CHKSUBdirective specified a subsystem revision level that does not match the compiler's revision level. - An old
flex.cflfile (from a prior revision) is found along the DFPATH.
Resolution
- Check the source code at the listed line for compliance with the appropriate revision level and review
#CHKSUBarguments. - Ensure only one
flex.cflis present (the one in the DataFlexlibfolder) 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
- An object is missing its
End_Objectstatement. - The error can also be caused by a missing ending statement of a procedure or function preceding the line that triggers the error.
Resolution
- Add the missing
End_Objectstatement. - 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
- The
tokeyword is missing before the return value argument in a function call. - The
tokeyword is missing before the argument in agetorsetstatement for a property.
Resolution
Ensure the to keyword precedes the return argument or the get/set argument.
302 - No Value Following 'To'
Cause
- No argument follows the
tokeyword in a function call. - No argument follows the
tokeyword in agetorsetstatement.
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
- A database table filename specified was not found.
- A referenced table required to be a DataDictionary object (DDO)
main_filehas not been specified as such.
This is a command compilation error.
Resolution
- Check the filename for misspelling and check the folders along the MakePath for the table. Recreate the
.FDfile for the database table if needed. - Set the database table as the DataDictionary object
main_fileif 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_ATOMICand 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
- Illegal characters in the image name.
- Leading spaces to the left of the image name.
This should only occur in legacy code using images (for example, BasicReport).
Resolution
- Use only legal ASCII characters (letters and numbers) in image names. Do not use spaces.
- If the Studio indents the report source and causes this, move the report to a separate source file and
#INCLUDEit 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.