Upgrading to DataFlex 3.2: Difference between revisions

m
→‎Runtime Errors: corrected nested headings
(Location)
m (→‎Runtime Errors: corrected nested headings)
Line 451: Line 451:
You can find additional information on multiuser coding in the white paper Transactions in DataFlex 3.1.
You can find additional information on multiuser coding in the white paper Transactions in DataFlex 3.1.


====Error 4098 "Bad Relationship"====
===Error 4098 "Bad Relationship"===
We have received some reports of encountering this error from developers upgrading to DataFlex 3.2 or Visual DataFlex. 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 fields or ASCII fields of the same length.
We have received some reports of encountering this error from developers upgrading to DataFlex 3.2 or Visual DataFlex. 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 fields or ASCII fields of the same length.


Note: Many developers using 2.3b used record number relationships, where a field in one database file is related to the RECNUM field in another file. When upgrading to 3.2, 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.
Note: Many developers using 2.3b used record number relationships, where a field in one database file is related to the RECNUM field in another file. When upgrading to 3.2, 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.


====Error 4141 "Data set files must support transaction"====
===Error 4141 "Data set files must support transaction"===
If you are using Data_Sets or DataDictionaries in your programs, you must set the affected data files' transaction type to either Client Atomic or Server Atomic, you cannot leave it as None.
If you are using Data_Sets or DataDictionaries in your programs, you must set the affected data files' transaction type to either Client Atomic or Server Atomic, you cannot leave it as None.


====Zerofile command====
===Zerofile command===
Older revisions of DataFlex allowed execution of the zerofile command while other users had access to the data file. This is no longer the case. For data integrity reasons, starting with DataFlex 3.2, a data file must be opened exclusively to zerofile it. Otherwise, the error message status 4177 "File access violation, file may be in use filename"  will be triggered.
Older revisions of DataFlex allowed execution of the zerofile command while other users had access to the data file. This is no longer the case. For data integrity reasons, starting with DataFlex 3.2, a data file must be opened exclusively to zerofile it. Otherwise, the error message status 4177 "File access violation, file may be in use filename"  will be triggered.


====Modified Runtimes====
===Modified Runtimes===
If you are using a modified DataFlex runtime, check with the provider of that runtime in regards to any of the issues discussed in this paper.
If you are using a modified DataFlex runtime, check with the provider of that runtime in regards to any of the issues discussed in this paper.


====Graphics Commands====
===Graphics Commands===


Graphics commands for character-mode DataFlex are no longer supported in any revision newer than 3.01b, so any such commands will have to be removed from the source code of your program(s).
Graphics commands for character-mode DataFlex are no longer supported in any revision newer than 3.01b, so any such commands will have to be removed from the source code of your program(s).