System & Program Errors List

See Also: Finding Specific Errors

 

Overview

This section lists all system errors in numeric order.

The system errors are those in the error number range of 4097-8192 and are stored in the DfErr001.dat database table.

 

Error List

4097 - Bad attribute value

4098 - Bad relationship

4099 - Bad parameter

4100 - Cannot find field

4101 - String too long

4102 - Too many table structures

4103 - Bad driver name

4104 - Already started

4105 - Bad table number

4106 - Lock time-out

4107 - Too many indexes

4108 - Record too long

4109 - Data dictionary record not saved

4110 - Structure not started

4111 - File too large for edit

4112 - Temporary file number in use

4113 - Attribute value warning

4114 - Cannot create .VLD file

4115 - Cannot create .DAT file

4116 - Read error

4117 - Write error

4118 - Cannot delete file

4119 - File not found

4120 - Cannot rename file

4121 - Operation aborted

4122 - Bad field type in index

4123 - Dynamic area of table header damaged

4124 - Static area of table header damaged

4125 - Argument size too large

4126 - Argument size too small

4127 - Error writing to device

4128 - Maximum records less than total records

4129 - Invalid number for maximum records

4130 - Error number out of range

4131 - Program created with incompatible version

4133 - Data entry subsystem not compatible

4134 - Embedded database table not compatible

4135 - Number too large to convert to integer

4136 - Real too large to convert to integer

4138 - Maximum number of objects reached

4139 - Cannot delete - related tables not open

4140 - Cannot delete - related records exist

4141 - Data set files must support transactions

4142 - Cannot recover from transaction error

4143 - Illegal operation during transaction

4144 - Operation not allowed

4145 - Fatal internal error

4146 - RECNUM not allowed as sequential device

4147 - Can't create .HDR file

4148 - Can't write to .HDR file

4149 - .HDR file is damaged or invalid

4150 - Attempt to reference invalid item number

4151 - Attempt to access an invalid page number

4152 - Maximum virtual memory locks exceeded

4153 - Attempt to unlock invalid virtual memory

4154 - Data_set constraint not for main file

4155 - Edit requires reread or find during lock

4156 - Referenced an invalid system integer

4157 - No shell program defined in environment

4159 - Error executing child process

4160 - Can't run print spooler

4161 - Invalid file system

4162 - Bad SYSCONF parameter

4163 - Spooler command line string too long

4164 - Referenced an Invalid System Indicator

4165 - Error outputting to spooler device

4166 - Error reading from child process's pipe

4167 - Unable to open pipe

4168 - Invalid object used with RUNPROGRAM PIPE

4170 - Compression table is corrupt

4171 - Invalid directive in collate.cfg on line <line_number>

4172 - Redundant value in collate.cfg on line <line_number>

4173 - Can't open collate.cfg

4174 - Incomplete sequence in collate.cfg

4175 - No printer type specified

4176 - Invalid table size

4177 - File access violation,file may be in use

4179 - Unable to update FILELIST.CFG

4180 - Can't read record zero

4181 - Can't delete index file (.K*)

4182 - Can't create index file (.K*)

4183 - Can't delete table (.DAT)

4184 - Can't delete variable db table (.VLD)

4185 - Can't delete record

4200 - Can't close variable db table (.VLD)

4216 - Physical file name not specified

4217 - Invalid record length

4218 - File must be opened exclusively

4220 - Can't write .TAG file

4221 - Must copy record to identical structure

4222 - Destination file must be empty

4223 - Can't delete header file (.HDR)

4224 - No locks available

4229 - DBMS Driver not supported System

4235 - Transaction aborted

4236 - Can't ABORT while in a transaction

4237 - Can't CHAIN while in a transaction

4238 - Can't RUNPROGRAM while in a transaction

4242 - Can't lock record

4243 - Can't unlock record

4244 - Can't copy database

4251 - Can't lock file

4252 - Error in Transaction log

4253 - API not initialized

4254 - Can't Create File

4255 - Can't Load DLL

4256 - Restructure ok, check file for error

4257 - Can't open filelist

4258 - Index Block Zero full

4259 - Error sorting: bad data

4260 - Error sorting: bad index number

4261 - Maximum record length exceeded

4262 - Unable to access index file

4263 - Header not damaged

4264 - Header integrity checking disabled

4265 - Unable to open file

4266 - Unable to read header of datafile

4267 - Invalid index number

4268 - Duplicate field name

4269 - Not a valid file definition

4270 - Error reading file

4271 - Can't open intermediate file

4272 - Can't close intermediate file

4273 - Intermediate file not opened

4274 - Error reading sequential file

4275 - Error writing to sequential file

4276 - Missing value

4277 - Invalid intermediate file keyword

4278 - Invalid intermediate file value

4279 - Invalid intermediate file sequence

4280 - Invalid intermediate file field

4281 - Invalid intermediate file index

4282 - Cannot logout with open tables

4283 - Unable to write .FD file

4284 - Max index key length exceeded

4285 - Attempt to access unsupported attribute

4286 - Illegal attribute value

4287 - No index specified

4289 - DBMS operations not allowed in callback

4290 - Error accessing system table for file

4291 - Error updating system table for file

4292 - Cannot copy structure on table with data

4354 Dates are unconverted <FileName.ext>

4355 - External function not found

4356 - Unable to load DLL

4357 - GUI Subsystem not compatible

4358 - Rawfile command error

4361 - Cannot Find Evaluation DLL

4362 - Evaluation DLL Has Expired

4365 - Large Integer Overflow

4367 Function Not Found in Expression

4379 Wrong Number of Arguments

4380 XML Interface Error

4381 Illegal Datatype Conversion

4382 Data Out of Range

4383 External Class Not Registered

4384 - Illegal External Class

4385 - Error Not In Use

4386 - Bad registerInterface method declaration

4387 - Too many arguments in registerInterface

4388 - Illegal object name definition

4389 - Illegal property name definition

4390 - Illegal method name definition

4391 - Illegal code placement

4393 - Invalid message syntax

4394 - Invalid object reference

4395 - Obsolete command is unsupported

4396 - Invalid argument

4397 - Illegal external function definition

4398 - Unable to instantiate COM object

4399 - COM object method invocation error

4400 - DfErr_Compile

4401 - DfErr_Operator

4402 - DfErr_Program

4402 - DDO re-entrant operation attempted

4403 - DfErr_Setup

4404 - Winprint error

4406 - Timer (dfTimer) error

4407 - Flexcom error

4408 - Help system error

4409 - Ini file error

4410 - Windows error

4411 - Windows registry error

4413 - Windows Menu error

4414 - Mapi error

4415 - Application/Workspace error

4416 - Web Object not found in WebApp

4417 - File Field name not found in Web Object

4418 - DDO Not found in Web Object

4419 - Changed State required by Web Object

4420 - Bad Data passed to Web Object

4421 - Xml/Http Transfer error

4422 - Soap/Http Transfer error

4423 - Soap Fault error

4424 - Text too large for database field

4425 - DataFlex Reports error

4426 - Access Denied

4500 - Missing Debug Information

4501 - Incompatible Debug Information

4502 - Server Web Service Exception

4503 - Invalid RowId Size

4504 - Driver Number Out of Range

4505 - Attempt to Reference Invalid Grid Column

4506 - Column does not Support Combo Messages

4508 - Invalid Use of Non-Main Table

4509 - Referenced Array Index Out of Bounds

4510 - Invalid RowId - Cannot Deserialize

4511 - Specified Dimension not Valid in Array

4512 - Illegal Attempt to Resize Static Array

4513 - Recursive struct definition

4514 - Obsolete or Ambiguous Syntax

4515 - Can't Compare this Element Type

4516 - Bad User Function Return Value

4517 - Operation Overflow

4518 - System Table Has More Than One Record

4519 - Invalid System Table Record Creation

4520 - Missing end metadata tag set

4521 - Invalid resource data

4522 - Changes detected in precompiled package

4523 - The specified DateTime contains an invalid value

4524 - The specified TimeSpan contains an invalid value

4525 - The specified Time contains an invalid value

4526 - Change in Parent record not allowed

4527 - Cannot refind record

4528 - Invalid Json String

4529 - Invalid Json Object

4530 - Json Object not Initialized

 

4097 - Bad attribute value

Cause

An incorrect value was supplied using the Set_Attribute command.

Resolution

Supply an appropriate and legal attribute value.

Example:

open Customer

move Customer.File_Number to hFile

move 0 to iField

   

Structure_Start hFile "DATAFLEX"

    create_field hFile at iField

    set_attribute DF_FIELD_TYPE of hFile iField to DF_BCD

    set_attribute DF_FIELD_LENGTH of hFile iField to 8

    set_attribute DF_FIELD_PRECISION of hFile iField to 999

    set_attribute DF_FIELD_NAME of hFile iField to "Balance_Due"

Structure_End hFile DF_STRUCTEND_OPT_NONE

The example above supplies 999 to the DF_FIELD_PRECISION attribute, which indicates that the new field being created in the Customer table should have 999 digits behind the decimal point. Clearly, this is inappropriate and illegal. the sample code below correctly supplies 2 as the number of digits desired behind the decimal point.

open Customer

move Customer.File_Number to hFile

move 0 to iField

   

Structure_Start hFile "DATAFLEX"

    create_field hFile at iField

    set_attribute DF_FIELD_TYPE of hFile iField to DF_BCD

    set_attribute DF_FIELD_LENGTH of hFile iField to 8

    set_attribute DF_FIELD_PRECISION of hFile iField to 2

    set_attribute DF_FIELD_NAME of hFile iField to "Balance_Due"

Structure_End hFile DF_STRUCTEND_OPT_NONE

 

4098 - Bad relationship

Cause

This error will occur at runtime whenever a relationship is found between 2 database fields that are not of exactly the same type and length. Overlap fields are the only exception to this rule; they may relate to either other overlap or ASCII fields of the same length.

Resolution

Ensure that related fields are of the same type and size. For example, do not relate a numeric 6.0 field to a numeric 4.0 field.

Note: Some developers using DataFlex 2.3b used record number relationships, where a field in one database file is related to the RECNUM field in another file. When upgrading more recent revisions of DataFlex, suddenly this message appears. This is usually because the "relating from" field was defined as Numeric 6.0, instead of Numeric 8.0, which is the type and length of the RECNUM field. However, record number relationships should be avoided whenever possible and even with legacy applications efforts should be made to remove them.

 

4099 - Bad parameter

 

4100 - Cannot find field

Cause

Attempt to access a field of a database table that does not exist, for example, by using the get_FieldNumber or Field_Map commands.

Resolution

Verify table field names. Check spelling of the field name. Verify the table name or number being used.

 

4101 - String too long

 

4102 - Too many table structures

 

4103 - Bad driver name

 

4104 - Already started

 

4105 - Bad table number

 

4106 - Lock time-out

Cause

A lock attempt was made and failed in the time allotted. This can be caused by:

1. The code in your application may not correctly apply a lock. This is often caused by improper coding of Alias tables.

2. Another application that is keeping a lock on the tables that you are trying to lock.

Resolution

1. See the lock command for details on how to properly lock tables. See Working with Alias Tables and DDs for more information.

2. See the DF_LOCK_TIMEOUT attribute for more information about lock timeouts.

 

4107 - Too many indexes

Cause

An attempt was made to exceed the database limitation of the number of indexes allowed.

Resolution

Stay within the index limitations of the database you are using. The embedded (DataFlex) database has a limit of 15 indexes (16 if you include the predefined index 0, which is always used by the Recnum field). Other databases have other limitations. Consult the documentation of the database you are using regarding the limits of that database.

 

4108 - Record too long

Cause

An attempt was made to exceed the database limitation of record length.

Resolution

Stay within the record length of the database you are using. The embedded (DataFlex) database has a record length limit of 16 kilobytes (KB). Other databases have other limitations. Consult the documentation of the database you are using regarding the limits of that database.

 

4109 - Data dictionary record not saved

 

4110 - Structure not started

Cause

An attempt was made to change the structure of a database table without first executing a valid structure_start statement.

Resolution

Execute a valid structure_start statement before attempting to change a database table structure.

Example:

integer iMaxRecs

handle hFile

 

Open Customer

move Customer.File_Number to hFile

move 1000000 to iMaxRecs

 

set_Attribute DF_FILE_MAX_RECORDS of hFile to iMaxRecs

Structure_End hFile DF_STRUCTEND_OPT_NONE

The incorrect code above attempts to change the maximum number of records of the Customer table without first executing a structure_start command, like the corrected code below.

integer iMaxRecs

handle hFile

 

Open Customer

move Customer.File_Number to hFile

move 1000000 to iMaxRecs

 

Structure_Start hFile "DATAFLEX"

    set_Attribute DF_FILE_MAX_RECORDS of hFile to iMaxRecs

Structure_End hFile DF_STRUCTEND_OPT_NONE

 

4111 - File too large for edit

 

4112 - Temporary file number in use

 

4113 - Attribute value warning

 

4114 - Cannot create .VLD file

 

4115 - Cannot create .DAT file

 

4116 - Read error

 

4117 - Write error

 

4118 - Cannot delete file

 

4119 - File not found

Cause

A file cannot be found.

Resolution

Check disk folder for correct file name.

 

4120 - Cannot rename file

 

4121 - Operation aborted

 

4122 - Bad field type in index

Cause

An field of an incorrect type is being added to an index or is in an existing index.

Resolution

Most databases have limitations of the types of fields that can be added to indexes. The embedded (DataFlex) database can only use Numeric, ASCII, Date and Overlap fields in indexes. Other databases have other limitations. Consult the documentation of the database you are using regarding the limits of that database.

 

4123 - Dynamic area of table header damaged

Cause

Database table or disk directory is damaged.

Resolution

Generally the disk should be reformatted and data recovery techniques used. Usually, database tables triggering this error are irrecoverably damaged. Restoring data from a good backup is the best recovery method.

Verify proper configuration of Read Caching and Opportunistic Locking on your network.
 

4124 - Static area of table header damaged

Cause

Database table or disk directory is damaged.

Resolution

Generally the disk should be reformatted and data recovery techniques used. Usually, database tables triggering this error are irrecoverably damaged. Restoring data from a good backup is the best recovery method.

Verify proper configuration of Read Caching and Opportunistic Locking on your network.

 

4125 - Argument size too large

Cause

An attempt was made to set the argument size to a value exceeding the maximum argument size.

Resolution

Do not set the argument size to a value exceeding the maximum argument size. See the DataFlex Specifications list for more information.

 

4126 - Argument size too small

Cause

1.  An attempt was made to set the argument size to less than 256.

2. An attempt was made to set the argument size to a value exceeding the maximum argument size.

Resolution

1. Never set the argument size to a value less than 256.

2. Do not set the argument size to a value exceeding the maximum argument size. See the DataFlex Specifications list for more information.

 

4127 - Error writing to device

 

4128 - Maximum records less than total records

Cause

An attempt was made to set the maximum records attribute of a database table is less than the current number of records in the table.

Resolution

Do not attempt to set the maximum records attribute to less than the current number of records in the table.

 

4129 - Invalid number for maximum records

Cause

An attempt was made to enter an invalid value for the maximum records attribute of a database table.

Resolution

The maximum number of records a database table can hold varies between databases. For the embedded (DataFlex) database this value must be a positive integer between 1 and 16.7 million (16,700,000). Other databases have other limitations. Consult the documentation of the database you are using regarding the limits of that database.

 

4130 - Error number out of range

 

4131 - Program created with incompatible version

 

4133 - Data entry subsystem not compatible

 

4134 - Embedded database table not compatible

Cause

1. Database tables (.dat files) created under revisions of DataFlex prior to 2.3 (2.2 and earlier) cannot be used under DataFlex without conversion by the DFConver utility.

2. A corrupted database table.

Resolution

1. Run DFConver on all your database tables (.dat files before attempting to use them with DataFlex. The DFConver utility was supplied with DataFlex 2.3, but can be obtained separately from the Data Access Corporation Web Site or by contacting Data Access Corporation.

2. Restore affected table from backup

 

4135 - Number too large to convert to integer

Cause

An attempt was made to convert a number that is larger than the largest value allowed for an integer to an integer variable.

Resolution

Reduce the value being moved to the integer to be within the range allowed for integers (-2,147,483,647 to +2,147,483,647), or keep the value in a number variable.

 

4136 - Real too large to convert to integer

Cause

An attempt was made to convert a real that is larger than the largest value allowed for an integer to an integer variable.

Resolution

Reduce the value being moved to the integer to be within the range allowed for integers (-2,147,483,647 to +2,147,483,647), or keep the value in a real variable.

 

4138 - Maximum number of objects reached

Cause

The maximum number of objects allowed in DataFlex has been reached.

Resolution

Reduce the number of objects in your program.

 

4139 - Cannot delete - related tables not open

Cause

Child tables related to the table in which a record is being deleted are closed.

Resolution

In order to delete a record in a table, all child tables related to the table in which the record is being deleted must be open.

 

4140 - Cannot delete - related records exist

Cause

You cannot delete a record with child records if Cascade_Delete_State is set to False.

Resolution

If you see this error, Cascade_Delete_State is most likely set to False to protect from deleting parent records with related child records. Doing so would leave orphaned records in related child tables.

 

4141 - Data set files must support transactions

Cause

The transaction type of one or more tables used by a DataFlex application is set to None.

Resolution

The transaction type of tables in DataFlex applications using DataDictionaries must be set to either Client Atomic, it cannot be set to None. Server Atomic only applied to Novell Netware's Transaction Tracking System (TTS), but Novell Netware is no longer supported in DataFlex.

 

4142 - Cannot recover from transaction error

 

4143 - Illegal operation during transaction

Cause

An operation that is not allowed during a transaction was attempted during a transaction.

Resolution

Certain operations are not allowed during a database transaction. This list includes any commands that execute another program, such as runprogram, or commands that exit a program, such as abort and exit_application.

A transaction is a lock...unlock, reread...unlock or begin_transaction...end_transaction block of code.

 

4144 - Operation not allowed

 

4145 - Fatal internal error

 

4146 - RECNUM not allowed as sequential device

 

4147 - Cant create .HDR file

Cause

1. This could be a permissions problem.

2. Database table or disk directory is damaged.

Resolution

1. Make sure that the current user has rights to the location where the .HDR file is to be created.

2. Generally the disk should be reformatted and data recovery techniques used.

Verify proper configuration of Read Caching and Opportunistic Locking on your network.

 

4148 - Cant write to .HDR file

Cause

This could be a permissions problem.

Resolution

Make sure that the current user has rights to the location where the .HDR file is to be created.

 

4149 - .HDR file is damaged or invalid

Cause

Database table or disk directory is damaged.

Resolution

Generally the disk should be reformatted and data recovery techniques used. Usually, database tables triggering this error are irrecoverably damaged. Restoring data from a good backup is the best recovery method.

Verify proper configuration of Read Caching and Opportunistic Locking on your network.

 

4150 - Attempt to reference invalid item number

 

4151 - Attempt to access an invalid page number

 

4152 - Maximum virtual memory locks exceeded

 

4153 - Attempt to unlock invalid virtual memory

 

4154 - Data_set constraint not for main file

Cause

No parent-file constraint

4155 - Edit requires reread or find during lock

Cause

Incorrect multi-user programming code.

Resolution

A reread (of data from disk) of the affected table is required before data in an active record buffer is to be changed. This ensures that no other user or process has changed the data since it was last retrieved from disk.

If the value of the API attribute DF_REREAD_REQUIRED is true and a reread is not performed, DataFlex error 4155 will be triggered. This attribute can be used to debug code that does not properly reread data.

This particular runtime error points out errors in multi user coding logic. The rules for correcting these coding errors are simple and straightforward:

Proper Multi User Coding Examples:

Example:

Creating a new record:

clear NEWTABLE

lock

    move VAR to NEWTABLE.FIELD

    saverecord NEWTABLE

unlock

 

Note: In many instances a reread command instead of a lock command will work with a new record. In this case, you MUST use the reread command without any files listed as parameters. If you try to reread a specific file (e.g., reread CUSTOMER) which does not have an active record, you will get an error 25 - record not found. There is a slight penalty (time) for using the reread command without any parameters, which is that all open files with an active record that are not flagged read-only will be reread.

Example:

Editing an existing record:

reread TABLE

    move VAR to TABLE.FIELD

    saverecord TABLE

unlock

Example:

Copying data from an existing record in TABLE to a new record in NEWTABLE:

reread TABLE

    move TABLE.FIELD to NEWTABLE.FIELD

    saverecord NEWTABLE

unlock

Note: There are important differences between the saverecord and save commands. The difference is that the save command attaches related ancestral file (parent, grandparent, etc) information, so that information from the related parent record will overwrite information moved manually into the child record buffer when saving. Saverecord does not do anything at all with related files, it only affects the file(s) listed as parameter(s).

 

4156 - Referenced an invalid system integer

 

4157 - No shell program defined in environment

 

4159 - Error executing child process

 

4160 - Cant run print spooler

 

4161 - Invalid file system

 

4162 - Bad SYSCONF parameter

 

4163 - Spooler command line string too long

 

4164 - Referenced an Invalid System Indicator

 

4165 - Error outputting to spooler device

 

4166 - Error reading from child processs pipe

 

4167 - Unable to open pipe

 

4168 - Invalid object used with RUNPROGRAM PIPE

 

4170 - Compression table is corrupt

 

4171 - Invalid directive in collate.cfg on line <line_number>

Cause

This error is usually caused by an outdated version of collate.cfg, from an older version of DataFlex or DataFlex.

Resolution

Check for older and duplicate copies of collate.cfg in the workspace subfolders and the folder or folders where the DataFlex runtime components are installed.

 

4172 - Redundant value in collate.cfg on line <line_number>

 

4173 - Cant open collate.cfg

 

4174 - Incomplete sequence in collate.cfg

 

4175 - No printer type specified

 

4176 - Invalid table size

This error can be triggered during reindexing of an embedded database table if the table returns a last record with a record number higher then MAX_RECORD_COUNT (16,711,679) records. This could be caused by a corrupted table header.

4177 - File access violation,file may be in use

 

4179 - Unable to update FILELIST.CFG

 

4180 - Cant read record zero

Cause

1. Database table or disk directory is damaged.

2. This error may indicate problems with the operating systems directory structure of the disk drive. Power failure is a common cause of disk directory corruption. If you have had other media errors, they can show up later as directory problems. If this happens repeatedly, there may be a subtle problem with the operating system or equipment.

Resolution

1. & 2. Generally, the disk should be reformatted and data recovery techniques used. Usually, database tables triggering this error are irrecoverably damaged. Restoring data from a good backup is the best recovery method.

Verify proper configuration of Read Caching and Opportunistic Locking on your network.

 

4181 - Cant delete index file (.K*)

 

4182 - Cant create index file (.K*)

 

4183 - Cant delete table

 

4184 - Cant delete variable db table (.VLD)

 

4185 - Cant delete record

 

4200 - Cant close variable db table (.VLD)

 

4216 - Physical file name not specified

 

4217 - Invalid record length

 

4218 - File must be opened exclusively

 

4220 - Cant write .TAG file

Cause

This could be a permissions problem.

Resolution

Make sure that the current user has rights to the location where the .TAG file is to be created.

 

4221 - Must copy record to identical structure

Cause

The table records are being copied from and the table that records are being copied to do not have the same table structure.

Resolution

Verify that the structure of both tables is identical.

 

4222 - Destination file must be empty

 

4223 - Cant delete header file (.HDR)

Cause

1. This could be a permissions problem.

2. The .HDR file may not exist.

Resolution

1. Make sure that the current user has rights to the location where the .HDR file is to be deleted.

2. Ensure that the .HDR file exists and can be found along DFPATH.

 

4224 - No locks available

 

4229 - DBMS Driver not supported System

 

4235 - Transaction aborted

 

4236 - Cant ABORT while in a transaction

Cause

An abort command was attempted during a transaction.

Resolution

Certain operations are not allowed during a database transaction. This list includes any commands that execute another program, such as runprogram, or commands that exit a program, such as abort and exit_application.

A transaction is a lock...unlock, reread...unlock or begin_transaction...end_transaction block of code.

 

4237 - Cant CHAIN while in a transaction

Cause

An chain command was attempted during a transaction.

Resolution

Certain operations are not allowed during a database transaction. This list includes any commands that execute another program, such as runprogram, or commands that exit a program, such as abort and exit_application.

A transaction is a lock...unlock, reread...unlock or begin_transaction...end_transaction block of code.

 

4238 - Cant RUNPROGRAM while in a transaction

Cause

A runprogram command was attempted during a transaction.

Resolution

Certain operations are not allowed during a database transaction. This list includes any commands that execute another program, such as runprogram, or commands that exit a program, such as abort and exit_application.

A transaction is a lock...unlock, reread...unlock or begin_transaction...end_transaction block of code.

 

4242 - Cant lock record

 

4243 - Cant unlock record

 

4244 - Cant copy database

 

4251 - Cant lock file

 

4252 - Error in Transaction log

 

4253 - API not initialized

 

4254 - Cant Create File

 

4255 - Cant Load DLL

 

4256 - Restructure ok, check file for error

 

4257 - Cant open filelist

 

4258 - Index Block Zero full

 

4259 - Error sorting: bad data

 

4260 - Error sorting: bad index number

 

4261 - Maximum record length exceeded

Cause

An attempt was made to change the structure of a database table to exceed the database limitation of record length.

Resolution

Stay within the record length of the database you are using. The embedded (DataFlex) database has a record length limit of 16 kilobytes (KB). Other databases have other limitations. Consult the documentation of the database you are using regarding the limits of that database.

 

4262 - Unable to access index file

 

4263 - Header not damaged

 

4264 - Header integrity checking disabled

Cause

This table does not have header integrity checking enabled.

Resolution

To enable header integrity checking, open the table in Database Builder and go to the Parameters tab page.

 

4265 - Unable to open file

 

4266 - Unable to read header of datafile

 

4267 - Invalid index number

 

4268 - Duplicate field name

 

4269 - Not a valid file definition

 

4270 - Error reading file

 

4271 - Cant open intermediate file

 

4272 - Cant close intermediate file

 

4273 - Intermediate file not opened

 

4274 - Error reading sequential file

 

4275 - Error writing to sequential file

 

4276 - Missing value

 

4277 - Invalid intermediate file keyword

 

4278 - Invalid intermediate file value

 

4279 - Invalid intermediate file sequence

 

4280 - Invalid intermediate file field

 

4281 - Invalid intermediate file index

 

4282 - Cannot logout with open tables

 

4283 - Unable to write .FD file

 

4284 - Max index key length exceeded

 

4285 - Attempt to access unsupported attribute

 

4286 - Illegal attribute value

 

4287 - No index specified

 

4289 - DBMS operations not allowed in callback

 

4290 - Error accessing system table for file

 

4291 - Error updating system table for file

 

4292 - Cannot copy structure on table with data

 

4354 Dates are unconverted <FileName.ext>

Cause

There are dates with a 2-digit year in the specified table.

Caution: If viewing the data with Database Explorer, depending on the options you have set in Database Explorer, you may not see the dates in the database exactly as they are stored.

Resolution

Convert all dates in the specified table to 4-digit years.

 

4355 - External function not found

Cause

The function specified in the External_Function call is not found in the specified DLL.

Resolution

Check the DLL's documentation for the function name. Sometimes the function names are followed by an additional letter.

Example:

External_Function ShellExecute "ShellExecute" Shel32.Dll ;

   Handle hwnd ;

   String sOperation ;

   String sFile ;

   String sParameters ;

   String sDirectory ;

   Integer nShowCmd ;

   Returns VOID_TYPE

In the incorrect code above, the function name of ShellExecuteA is misspelled as ShellExecute and Shell32.Dll is misspelled as Shel32.dll. The code below is correct.

External_Function ShellExecute "ShellExecuteA" Shell32.Dll ;

   Handle hwnd ;

   String sOperation ;

   String sFile ;

   String sParameters ;

   String sDirectory ;

   Integer nShowCmd ;

   Returns VOID_TYPE

Ensure that the DLL's name is spelled correctly and that the DLL is found.

Windows applications search for DLLs in the following order:

1. The folder from which the application loaded.

2. The current folder.

Windows XP: If HKLM\System\CurrentControlSet\Control\SessionManager\SafeDllSearchMode is 1, the current folder is the last folder searched. The default value is 0.

3. The Windows system directory.

Windows NT/2000/XP: The name of this directory is System32.

4. Windows NT/2000/XP: The 16-bit Windows system folder. There is no function that obtains the path of this folder, but it is searched. The name of this folder is System.

5. The Windows folder.

6. The folders that are listed in the PATH environment variable.

 

4356 - Unable to load DLL

Cause

A DLL cannot be found by Windows.

Resolution

Ensure that the DLL's name is spelled correctly and that the DLL can be found.

Windows applications search for DLLs in the following order:

1. The folder from which the application loaded.

2. The current folder.

Windows XP: If HKLM\System\CurrentControlSet\Control\SessionManager\SafeDllSearchMode is 1, the current folder is the last folder searched. The default value is 0.

3. The Windows system directory.

Windows NT/2000/XP: The name of this directory is System32.

4. Windows NT/2000/XP: The 16-bit Windows system folder. There is no function that obtains the path of this folder, but it is searched. The name of this folder is System.

5. The Windows folder.

6. The folders that are listed in the PATH environment variable.

 

4357 - GUI Subsystem not compatible

 

4358 - Rawfile command error

Cause

This is a sequential I/O (input/output) error where a raw file access command, such as direct_input, is trying to access a file or folder that does not exist.

Resolution

Ensure that the file or folder being accessed exists before trying to access it. You can do so using the File_Exist command.

Example:

This sample procedure checks whether a file exists before trying to read it. This is a simplified I/O sample that shows how to prevent error 4358 from happening. Read more about Sequential File Input and Output here.

Procedure ReadFromFile

    Boolean bExists

    String sFileToAccess

 

    move "C:\MyFile.txt" to sFileToAccess

    File_Exist sFileToAccess bExists

    if (bExists = True) begin

        direct_input sFileToAccess

            // add code to read from the file here...

        close_input

    end

End_Procedure  // ReadFromFile

 

4361 - Cannot Find Evaluation DLL

Cause

This copy of DataFlex is registered as an evaluation license, but the evaluation DLL cannot be found.

Resolution

Register a full DataFlex license, so that the evaluation DLL is not needed.

This can also be a symptom of something more serious. It indicates that files are missing from the DataFlex installed location. You may want to reinstall DataFlex to correct this.

 

4362 - Evaluation DLL Has Expired

Cause

This copy of DataFlex is registered as an evaluation license, and the evaluation time frame has expired.

Resolution

Register a full DataFlex license. You can obtain this license through your sales channel.

 

4365 - Large Integer Overflow

Cause

Can occur when overflow is detected in use of BigInt and UBigInt arithmetic/conversion.

Resolution

Review your code to ensure the data type you are using is correct for the values you are working with.

 

4367 Function Not Found in Expression

Cause

A function that has not been declared was used in an expression.

1. This error is often a result of a mistyped function name in the code.

2. It can also be caused by referencing a function that is declared later in the code.

Resolution

1. Check the function name and correct the spelling of the reference.

2. Either move the function declaration to a place in the code prior to the line calling it or use the Register_Function command to tell the compiler that the function will be defined at a later point in the code.

 

4379 Wrong Number of Arguments

Cause

1. An incorrect number of arguments is passed to a message.

2. A calling convention clash when calling an external_function.

Resolution

1. See the documentation for the message you are using for more information on the required number of arguments.

2. The standard Win32 API calling convention is called stdcall. This calling convention must be used in a DLL to allow it to be called from DataFlex.

4380 XML Interface Error

Cause

Procedures that fail when creating nodes generate an error. Any of the Send AddXxxxxx messages (Send AddElement, Send AddChildComment, etc.) will generate this error if the object can not be created and added.

Resolution

See the documentation for the message you are using or the cXMLDOMDocument class for more information.

4381 Illegal Datatype Conversion

Cause

1. This error occurs if data is moved from one type to another that is inappropriate for the destination data type.

Example:

UInteger uiQty

DateTime dtNow

move -3 to uiQty

move uiQty to dtNow

This example will result in error 4382 followed by error 4381 because a variable of type DateTime cannot contain a negative value.

2. If you use static arrays with StrSplitToArray, but if your source string {StringVar} contains more elements than the target array, it will trigger error 4381:"

Illegal Datatype Conversion. Incompatible size of 0. dimension - Cannot convert array of 'STRING[]' to array of 'STRING[3]'

3. This can happen when  an array is referenced instead of an array element, such as:

String[] names

Move "Casanave" to names

Resolution

1. Be sure to use variables of appropriate data types for the values they need to contain.

2. We recommend using dynamic arrays instead.

3. The error in this case is that a string cannot be moved to a string array, but only to an element in the array. The correction would be something like:

String[] names

Move "Casanave" to names[0]

 

4382 Data Out of Range

Cause

This error occurs if data that exceeds the limitations of a particular type is moved to a variable of that type.

Example:

UInteger uiQty

Move -3 to uiQty

This example will result in error 4382 because a variable of type uinteger cannot contain a negative value.

Resolution

Be sure to use variables of appropriate data types for the values they need to contain.

 

4383 External Class Not Registered

Cause

1. A required DLL is missing.

2. A manifest file for the application that specifies the correct DLL version is missing. For example, when using a cLinklabel control without a manifest file that specifies that version 6 of the DLL should be used if it is available.

Resolution

1. Make sure the required DLL is installed and registered (if necessary) in the operating system.

2. Make sure the program has the required manifest file with the required specification. All classes that require such a manifest file or statement state so in their documentation.

4384 - Illegal External Class

 

4385 - Error Not In Use

 

4386 - Bad registerInterface method declaration

Cause

The code for a call to RegisterInterface is incorrect.

Resolution

Double check the code of your RegisterInterface call.

The simplest way to ensure that the RegisterInterface call is correct is to use the Publish Method option in the DataFlex Studio to have the Studio write this code for you.

 

4387 - Too many arguments in registerInterface

Cause

Too many arguments were passed to a RegisterInterface method.

Resolution

Double check the code of your RegisterInterface call.

The simplest way to ensure that the RegisterInterface call is correct is to use the Publish Method option in the DataFlex Studio to have the Studio write this code for you.

 

4388 - Illegal object name definition

 

4389 - Illegal property name definition

Cause

A property is illegally defined.

1. The property name may conflict with an internal identifier or reserved word.

2. The property may be defined inside of a class inside of a method, which is not legal.

Resolution

1. Resolve the naming conflict by renaming the property.

2. Move the property definition outside any methods.

 

4390 - Illegal method name definition

Cause

Attempt to redefine a method that is already defined.

Attempt to register a global method using Register_Procedure or Register_Function.

Resolution

Do not register global methods.

 

4391 - Illegal code placement

Cause

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

2. Error detail text is 'Multi Dimensional array variables must be defined one per line'.

Resolution

1. Properties defined in a class must be defined inside a Construct_Object.

2. You must define multi-dimensional array variables one per line.

Incorrect:

Integer[][] ints1 ints2

Correct:

Integer[][] ints1

Integer[][] ints2

 

4393 - Invalid message syntax

Cause

This error can be caused by many different types of coding errors.

Resolution

Search for the message specifics in the Compiler Error Messages.

Example

If the full error text reads:

"Invalid message syntax TOO MANY PARAMS AFTER 'TO' [Error: 4393] on Line: LineNumber (PRNFileLineNumber) of File: SourceFileName.

then the error specifics are:

TOO MANY PARAMS AFTER 'TO'

If you search for this error text on the Compiler Error Messages page, or the Search tab of this help file, you will find the detailed explanation of the specific error.

 

4394 - Invalid object reference

 

4395 - Obsolete command is unsupported

 

4396 - Invalid argument

 

4397 - Illegal external function definition

 

4398 - Unable to instantiate COM object

Cause

The ActiveX control is not registered on the PC.

Resolution

Use regsvr32 to register the control.

 

4399 - COM object method invocation error

 

4400 - DfErr_Compile

This error is a Generic Error. Please see Generic Errors for more information.

 

4401 - DfErr_Operator

This error is a Generic Error. Please see Generic Errors for more information.

 

4402 - DfErr_Program

This error is a Generic Error. Please see Generic Errors for more information.

 

4402 - DDO re-entrant operation attempted

This error will only be reported if using the Data Dictionary Inspector with the Report DD Reentrancy Errors" checkbox checked.

Cause

Many DDO methods are not reentrant. The messages that are not reentrant are Clear, Clear_All, Request_Save,  Request_Delete, Request_Assign, Request_Find, Request_Superfind and Find_by_Recnum. For example, you cannot send the Request_find message in the middle of a Request_Save process (even if the message is being sent to another DDO).

Resolution

When these types messages are sent in a reentrant state, the normal behavior of the DDO is to ignore them.  This creates a problem for testing. If you are sending these messages, you are probably doing so in error. Rather than performing whatever action you are expecting, the message is being silently ignored.

When the Data Dictionary Inspector is used, these reentrant messages are reported back to you as errors.  This will make it easy for you to find and correct these problems.

See Reentrancy of DDO Methods for more information regarding reentrant operations.

 

4403 - DfErr_Setup

This error is a Generic Error. Please see Generic Errors for more information.

 

4404 - Winprint error

This is a generic error message that forwards errors from the WinPrint viewer or WinPrint engine. Please read the text or the error message for the specific cause and/or resolution.

 

4406 - Timer (dfTimer) error

 

4407 - Flexcom error

 

4408 - Help system error

 

4409 - Ini file error

 

4410 - Windows error

 

4411 - Windows registry error

 

4413 - Windows Menu error

 

4414 - Mapi error

 

4415 - Application/Workspace error

Cause

The Workspace file identifying the Workspace cannot be found.

Resolution

Check the code of the cApplication object in your program to see which workspace file it is trying to open. If no code exists in the object specifying a workspace to open, it is trying to open the file "config.ws".

By default, the workspace (.ws) file is located in the same folder as the compiled program (.exe) file.

 

4416 - Web Object not found in WebApp

WBO name not found. A call from an ASP page refers to a WBO name that cannot be found.

 

4417 - File Field name not found in Web Object

A call from an ASP page refers to a "file.field" name that cannot be found.

 

4418 - DDO Not found in Web Object

No filename specified or could not find the DD for passed filename.

 

4419 - Changed State required by Web Object

Changed_State not supported or available from browser/script. The WBO needs to do changed-state checking for each data being posted. Either the ASP page is not properly set up to provide this information or the browser did not support the scripting required to make this work.

 

4420 - Bad Data passed to Web Object

Internal error with the CALL mechanism resulting in bad data. This should never happen.

 

4421 - Xml/Http Transfer error

An error occurred during a cXmlHttpTransfer. More error detail is provided by checking the cXmlHttpTransfer property peXmlTransferStatus.

Code values are:

 

4422 - Soap/Http Transfer error

An error occurred with the soap client request. peTransferStatus has more details. All errors are reported here except SOAP-fault errors.

 

4423 - Soap Fault error

An error occurred with the SOAP client request resulting in a SOAP fault. See peTransferStatus for more details.

 

4424 - Text too large for database field

Cause

This gets triggered if you try to save an RTF (rich text format) stream that is too large in a cDbRichEdit control. It occurs during the save when you attempt to move the data from the control to the database field.

Resolution

Decrease the size of the text in the control or increase the size of the database field. If you cannot do either, consider storing the text in an RTF document that is stored outside the database.

 

4425 - DataFlex Reports error

Cause

All errors in the cDRReports class use error 4425. The error details will be displayed in the error text.

Resolution

Refer to the DataFlex Reports documentation for more information.

 

4426 - Access Denied

Cause

This is the generic Access Denied user error for the web application framework. If there are more details, they should be displayed in the error text.

Resolution

This is typically caused by a user attempting to access parts of a web application the user does not have correct permissions for. See cWebSessionManager to read more about rights in web applications.

 

4500 - Missing Debug Information

The precompile debug (.PBG) file is missing. IOW, if you use a precompiled package, but the .DBG file is missing.

 

4501 - Incompatible Debug Information

The precompile debug (.PBG) file is found, but is not a current .PBG file. IOW, the .PBG file was created with an older compiler, or if the .PBG file is not a valid debug file.

 

4502 - Server Web Service Exception

This is a private error used to generate soap-faults on the server. This error will never be reported.

 

4503 - Invalid RowId Size

 

4504 - Driver Number Out of Range

 

4505 - Attempt to Reference Invalid Grid Column

Cause

Attempt to reference an invalid grid column. Either the columns have not yet been created or it is out of range.

Resolution

Reference grid columns after they have been created or keep within the range of columns of the grid.

 

4506 - Column does not Support Combo Messages

Cause

Attempt to access a column_combo message for a column that does not support combos.

Resolution

The columns must first be defined using the Column_Combo_State  message.

Example

Set Column_Combo_State iColumn to True

 

4508 - Invalid Use of Non-Main Table

Cause

This is a DataDictionary Object (DDO) / Data Entry Object (DEO) programming error that has one of two causes.

1. Your DEO has a mismatch between its Server and its data file/field binding. In a DEO data file/field binding (e.g., Entry_Item Orderhea.Order_Number) should be a field from your Server table or one of its parent (or ancestor) servers. It may also have no binding at all. In particular, you do not want to refer to a child table with a parent server. When that happens and you attempt a find on this DEO, you may get this error.

For example:

// this is valid, binding table and DDO are the same

Object oOrderheaOrderNr is a dbForm

    Set Server to oOrderHea_DD

    Entry_Item OrderHea.Order_Number

End_Object        

// this is valid, binding table is a parent of the DDO

Object oCustomerCustNr is a dbForm

    Set Server to oOrderHea_DD

    Entry_Item Customer.Customer_Number

End_Object        

// this is valid, no binding or an expression

Object oOrderheaOrderNr is a dbForm

    Set Server to oOrderHea_DD

    Entry_Item (Whatever-you-want)

End_Object        

// this is *not* valid, binding table is a child of the DDO

Object oOrderheaOrderNr is a dbForm

    Set Server to oCustomer_DD

    Entry_Item OrderHea.Order_Number

End_Object        

This last example is most likely a programming error.  There are few cases where this will have desired results and a find on this DEO may generate this error.

This can also occur if a DDO’s Main_File is set improperly, if a DEO’s Set Server is set improperly (or is missing) or the DEO’s Entry_Item is referring to the wrong table.

Resolution

1. Add or correct the appropriate Entry_Item, "set Server" or "set Main_File" statement.

<or>

2. It is a DataSet legacy feature that should not be in use (probably using the private and obsolete Add_Parent interface in a DataSet). Support of this feature has been removed in DataFlex 11.0 due to RowId changes. This is unlikely.

4509 - Referenced Array Index Out of Bounds

Cause

The specified index reference is out of bounds.

Resolution

Reference an index within the bounds of the array.

 

4510 - Invalid RowId - Cannot Deserialize

Cause

An attempt was made to deserialize a RowId from a string that is not a valid serialized RowId.

 

4511 - Specified Dimension not Valid in Array

Cause

The specified dimension is not a valid dimension in the array. For example, querying for the size of the 2nd dimension in a one-dimensional array using SizeOfArray() would result in this error.

Resolution

Reference only dimensions the array has. For example, reference only one dimension of a one-dimensional array.

 

4512 - Illegal Attempt to Resize Static Array

Cause

Attempting to dynamically resize a static array is illegal.

 

4513 - Recursive struct definition

Cause

Attempt to create an illegal recursive struct declaration.

Example

Struct tMyStruct

    tMyStruct MyStruct

End_Struct

or

Struct tMyStruct

    integer iVar

    tMyStruct MyStruct

End_Struct

Note that structs can be defined recursively with arrays:

Struct tMyStruct

    integer iVar

    tMyStruct[] MyStruct

End_Struct

Resolution

Struct definitions cannot be nested. Correct the code.

4514 - Obsolete or Ambiguous Syntax

Cause

Left of '[' is not array, use '(' if indicator

This can happen with an array indexer or indicator. 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.

Resolution

You can resolve this by enclosing the indicator with () instead. For example, instead of [Found] use (Found).

Cause

"Left of '.' is not of type struct or table"

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

Resolution

Only struct members and table column names may follow a dot.

 

4515 - Can't Compare this Element Type

Cause

Raised when code calls an array function and supplies an array of a complex data type (struct, RowId, etc.) and the virtual machine cannot compare the arguments.

DataFlex implements different sorting algorithms for different data types in the virtual machine, in order to provide developers with the most efficient sorting method based on the data type. Algorithms provided in the virtual machine will also run faster. Some data types cannot be sorted using the internal algorithms: struct, RowId, variant.

For example:

Struct tFriend

    String First

    String Last

End_Struct

 

Procedure OnClick

    // declare array of 10 tFriend structs

    tFriend[4] MyFriends

    integer iMinFriend

 

    // fill MyFriends array

    move "Janet" to MyFriends[0].First

    move "Smith" to MyFriends[0].Last

    move "Pedro" to MyFriends[1].First

    move "Rodriguez" to MyFriends[1].Last

    move "Judy" to MyFriends[2].First

    move "Smith" to MyFriends[2].Last

    move "Fred" to MyFriends[3].First

    move "Jones" to MyFriends[3].Last

 

    move (MinArray(MyFriends)) to iMinFriend

End_Procedure

The above code will trigger error 4515, because struct is one of the data types that cannot be sorted by the virtual machine using an internal algorithm. To use the MinArray array function with a structured data type, create a custom sort function as described in the help for the array functions that cause this error.

 

4516 - Bad User Function Return Value

Cause

Raised when developer supplied function returns anything other than (EQ), (GT) or (LT) to array functions SortArray or BinarySearchArray.

For example:

Struct tFriend

    String First

    String Last

End_Struct

 

// Custom comparison function:

//   Will return (EQ) if the tFriend struct passed as the first argument

//   has the same Last member value as the tFriend struct passed in the second argument

Function MyComparison tFriend MyFriend tFriend SearchFriend Returns Integer

    integer iRetVal

 

    if (MyFriend.Last = SearchFriend.Last) ;

        move (GE) to iRetVal

    else ;

        move (LE) to iRetVal

    Function_Return iRetVal

End_Function

 

// fires when the button is clicked

Procedure OnClick

    // declare array of 10 tFriend structs

    tFriend[10] MyFriends

    // declare tFriend struct that will hold search value(s)

    tFriend SearchFriend

    integer iSearchIndex i iArraySize

 

    // move value to compare array values to the Comparison struct

    move "Jones" to SearchFriend.Last

 

    // fill MyFriends array

    move "Janet" to MyFriends[0].First

    move "Smith" to MyFriends[0].Last

    move "Pedro" to MyFriends[1].First

    move "Rodriguez" to MyFriends[1].Last

    move "Judy" to MyFriends[2].First

    move "Smith" to MyFriends[2].Last

    move "Fred" to MyFriends[3].First

    move "Jones" to MyFriends[3].Last

    move "Martin" to MyFriends[4].First

    move "Anderson" to MyFriends[4].Last

    move "Michael" to MyFriends[5].First

    move "Schmidt" to MyFriends[5].Last

    move "Jacques" to MyFriends[6].First

    move "Verne" to MyFriends[6].Last

    move "Enrico" to MyFriends[7].First

    move "Ricci" to MyFriends[7].Last

    move "Karl" to MyFriends[8].First

    move "Sorensen" to MyFriends[8].Last

    move "Juan" to MyFriends[9].First

    move "Garcia" to MyFriends[9].Last

 

    // call MyComparison function to search array elements for value(s) in SearchFriend

    move (BinarySearchArray(SearchFriend, MyFriends, Self, get_MyComparison)) to iSearchIndex

 

    showln "The search value was found in element number " (string(iSearchIndex))

    move (SizeOfArray(MyFriends)) to iArraySize

    for i from 0 to (iArraySize-1)

        showln ":" MyFriends[i].First ":" MyFriends[i].Last ":"

    loop

End_Procedure

The above code will trigger error 4516, because function MyComparison returns (GE) and (LE), instead of (EQ), (GT) or (LT).

Resolution

Correct developer supplied functions to only return (EQ), (GT) or (LT).

 

4517 - Operation Overflow

Cause

This occurs when a operation on a decimal data type results in an overflow. Prior to DataFlex 11.1, an overflow would result in a truncated value. Other data types (besides decimal), notably the number data type, do not raise an error when an overflow occurs.

DataFlex has never raised errors on overflows. If you are dealing with very large numbers, where an overflow is possible, you should use the decimal data type. This gives you the largest range possible (decreasing the chance of an overflow) and it reports when an overflow actually occurs.

 

4518 - System Table has more than One Record

Cause

This error occurs when a system table is opened and it has more than one record. A multi-record system table is a bug. This is non fatal error and the table will still be opened.

Resolution

Existing applications from revisions of DataFlex older than 11.1 may contain system tables with multiple records. The extra records may be the residual effect of an old error. While this may problem may be fixed in your application and the extra records are not creating any problems with your existing application, you will get an error which was not encountered in previous releases. You are encouraged to fix these tables by removing the extra records. If you cannot immediately correct these errors you can suppress the reporting of these errors by telling the error handler to ignore these errors. This is accomplished by adding the following line to the top of your windows or web application (after the inclusion of the error handler package).

Use ErrorNum.inc

Send IgnoreError of Error_Object_Id DFERR_SYSTABLE_TOO_MANY_RECORDS

This will allow you to continue to use your system table as before. It will not allow you to add more records to this table -- this is a more serious bug which should not be suppressed.

 

4519 - Invalid System Table Record Creation

Cause

This error occurs if you attempt to save a new record that would result in more than one record in a system table. Prior to DataFlex 11.1, it was possible to save multiple records to a system table. This was a bug, which is no longer allowed.

Resolution

You should not try to suppress or work around this error. If your application is attempting to save new records to a system table, you have a serious error which needs to be fixed. Either your table should not really be marked as a system table, or you should not be saving new records to it.

4520 - Missing end metadata tag set

Cause

End of file was found before the end of the meta- data tag set, missing '}'.

Resolution

Correct the meta-data tag to include the missing '}'. 

See Studio Meta-Data for more information on meta-data.

 

4521 - Invalid resource data

Cause

The embedded ActiveX resource data between Embed_ActiveX_Resource/End_Embed_ActiveX_Resource is invalid or incorrect.

Resolution

Delete the Embed_ActiveX_Resource/End_Embed_ActiveX_Resource block of code and allow the Studio to recreate it. You can do so by right-clicking on the ActiveX control in question and selecting "ActiveX Properties" from the context menu. When you set the ActiveX properties, the Studio will save the resource data in an Embed_ActiveX_Resource/End_Embed_ActiveX_Resource block of code.

 

4522 - Changes detected in precompiled package

Cause

Changes were detected in precompiled package while attempting to include it.

Resolution

The precompiled package must be recompiled for the changes to take effect.

 

4523 - The specified DateTime contains an invalid value

Cause

This error is triggered whenever DateTime arithmetic is attempted with invalid values. The result is always a Null value.

Resolution

Ensure that valid values are supplied for DateTime arithmetic. See the DateTime command for details.

 

4524 - The specified TimeSpan contains an invalid value

Cause

This error is triggered whenever TimeSpan arithmetic is attempted with invalid values. The result is always a Null value.

Resolution

Ensure that valid values are supplied for TimeSpan arithmetic. See the TimeSpan command for details.

 

4525 - The specified Time contains an invalid value

Cause

This error is triggered whenever Time arithmetic is attempted with invalid values. The result is always a Null value.

Resolution

Ensure that valid values are supplied for Time arithmetic. See the Time command for details.

 

4526 - Change in Parent record not allowed

Cause

If an error occurs this is most likely a programming error. You've told the DD it will not change, but it has. This can be particularly useful with alias files because you most often use alias files as parents and you most often do not want them to be changed. Setting this true in the DD provides a quick and easy way to make sure that this is really the case. If this happens, it is expected that the developer will want to fix their code.

Resolution

See pbForeignReadOnly.

 

4527 - Cannot refind record

Cause

The purpose of this error is to notify the developer or the user that a record that was previously found can now not be found. Request_Validate, Request_Save and Request_Delete return this error when records cannot be refound/reread. The intent is to notify the user that someone must have deleted this record since it was last found by the user and that this is not a bug, but normal multi-user behavior when one user deleted a record that another user has pulled up in a view, etc.

Resolution

In most cases, this is simply a user notification that another user or process has deleted a record that the current user had previously found and displayed. No action is needed.

 

4528 - Invalid Json String

Cause

This error indicates that a JSON string being parsed has an invalid structure.

Resolution

Examine the JSON string and correct the code creating it. The cJsonObject class has members to help create and validate JSON data.

 

4529 - Invalid Json Object

Cause

This error indicates that the structure of the JSON DOM is invalid for cJsonObject operation.

Resolution

Examine the JSON DOM object data and cJsonObject structure and correct the inconsistency. The cJsonObject class has members to help create and validate JSON data. Sometimes JSON data is returned without all members of the Json object present. Setting pbRequireAllMembers to False can help get around this issue.

 

4530 - Json Object not Initialized

Cause

If This error indicated that the cJsonObject instance does not represent a valid JSON object.

Resolution

Examine the cJsonObject instance and correct the code creating it. The cJsonObject class has members to help create and validate JSON data.