Text and binary fields are referred to as extended fields. As of revision 17.0, extended fields with DEOs (typically text fields) are fully supported, just like non-extended fields.
Text DEOs (cDbTextEdit and cDbRichEdit) are full DEOs and can use the local DD buffers for text columns, just like the other DD columns. The property pbBypassDDFieldBuffer allows you to determine if a DEO that uses extended columns should bypass updating the DD and perform updates directly against the file buffer. When set to True, the bypass is in effect and the text column DEOs in Windows applications will behave as they did in prior revisions.
When a DDO is created, DDO-field buffers are not created for binary fields. Instead, the DEOs deal directly with the table’s File-Buffer (reports would do this same). Binary fields rarely have validation requirements, so full DDO support is not really needed. If these fields are not needed, you do not want to incur the added overhead of these fields.
An extended DDO field can be created for any field by sending the message DefineExtendedField passing the field number of the extended field.
Object Customer_DD is a Customer_DataDictionary
Send DefineExtendedField Field Customer.Picture
End_Object
Extended DD fields can be created for all binary fields within a Data Dictionary object by sending the message DefineAllExtendedFields.
Object Customer_DD is a Customer_DataDictionary
Send DefineAllExtendedFields
End_Object
When an extended DD field is created, an internal field object is created for this field. Once created values are moved between the file-buffer and the extended fields in the same way they are moved in and out of the normal fields. The “refresh” process moves data from the file-buffer to the DDO-Field buffer, and the “update” process moves data from the DDO-Field buffer to the file buffer. In addition, a mechanism is provided for updating the DDO-Field buffer value.
You will only use extended fields for batch updating. If an extended field exists, it will not be used as part of the visual update.
Creating Data Dictionary Object Structures