System Error Messages
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
- 4172 - Redundant value in collate.cfg on line
- 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
- 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
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.
Obsolete
Overlap columns were replaced by multi-segment relationships in DataFlex 11.0 and are obsolete.
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:
- The code in your application may not correctly apply a lock. This is often caused by improper coding of Alias tables.
- Another application that is keeping a lock on the tables that you are trying to lock.
Resolution
- See the lock command for details on how to properly lock tables. See Working with Alias Tables and DDs for more information.
- 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
- An attempt was made to set the argument size to less than 256.
- An attempt was made to set the argument size to a value exceeding the maximum argument size.
Resolution
- Never set the argument size to a value less than 256.
- 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
- 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.
- A corrupted database table.
Resolution
- 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.
- 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 - Can't create .HDR file
Cause
- This could be a permissions problem.
- Database table or disk directory is damaged.
Resolution
- Make sure that the current user has rights to the location where the .HDR file is to be created.
- Generally the disk should be reformatted and data recovery techniques used.
Verify proper configuration of Read Caching and Opportunistic Locking on your network.
4148 - Can't 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:
- Whenever a new record is created (i.e., a value is moved to a table.field) a lock command must first be issued. A lock command locks all open tables that are not in read_only mode.
- Whenever an existing record is edited, a reread command of the corresponding table must first be issued. A reread command rereads all tables specified as arguments for the command and then issues a lock command.
- Whenever an existing record is deleted, the affected table must be in a locked state.
- For each lock command issued, one unlock command must be issued.
- For each reread command issued, one unlock command must be issued.
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 - 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
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
4173 - Can't 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 than 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 - Can't read record zero
Cause
- Database table or disk directory is damaged.
- This error may indicate problems with the operating system's 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
- & 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 - Can't delete index file (.K*)
4182 - Can't create index file (.K*)
4183 - Can't delete table
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
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 - Can't delete header file (.HDR)
Cause
- This could be a permissions problem.
- The .HDR file may not exist.
Resolution
- Make sure that the current user has rights to the location where the .HDR file is to be deleted.
- 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 - Can't 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 - Can't 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 - Can't 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 - 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
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 - 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
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:
- The folder from which the application loaded.
- 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.
- The Windows system directory.
- Windows NT/2000/XP: The name of this directory is System32.
- 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.
- The Windows folder.
- 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:
- The folder from which the application loaded.
- 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.
- The Windows system directory.
- Windows NT/2000/XP: The name of this directory is System32.
- 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.
- The Windows folder.
- 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.
- This error is often a result of a mistyped function name in the code.
- It can also be caused by referencing a function that is declared later in the code.
Resolution
- Check the function name and correct the spelling of the reference.
- 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
- An incorrect number of arguments is passed to a message.
- A calling convention clash when calling an external_function.
Resolution
- See the documentation for the message you are using for more information on the required number of arguments.
- 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 cannot 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
- 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.
- 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]'.
Resolution
- Be sure to use variables of appropriate data types for the values they need to contain.
- We recommend using dynamic arrays instead.
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
- A required DLL is missing.
- 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
- Make sure the required DLL is installed and registered (if necessary) in the operating system.
- 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.
- The property name may conflict with an internal identifier or reserved word.
- The property may be defined inside of a class inside of a method, which is not legal.
Resolution
- Resolve the naming conflict by renaming the property.
- 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
- A property is defined in a class, but outside of a constructor method.
- Error detail text is 'Multi Dimensional array variables must be defined one per line'.
Resolution
- Properties defined in a class must be defined inside a Construct_Object.
- 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:
- xtsOk - No error
- xtsHttpRequestFailed - HTTP request failed -- no response
- xtsBadRequest - Bad or missing data sent
- xtsInvalidContentType - Return content type is not as expected
- xtsNoData - No data was received
- xtsNotXml - Received data is not XML
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.
- 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
- Add or correct the appropriate Entry_Item, "set Server" or "set Main_File" statement.
- 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
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, in which case you can resolve this by enclosing the indicator with () instead. For example, instead of [Found] use (Found).
"Left of '.' is not of type struct or table"
Cause
This error occurs if left of. is a variable reference but determined not to evaluate to type struct.
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 // OnClick
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 // MyComparison
// 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 // OnClick
The above code will trigger error 4516, because function MyComparison returns (GE) and (LE), instead of (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, does 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. Prior to DataFlex 11.1, it was possible to open a system file that contained multiple records. A multi-record system table is a bug, which is now reported. This is non fatal error and the file 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.