The OpenInsight ATRECORD property is an easy way of updating data in your forms in a similar fashion to the way the “@Record” variable worked in Advanced Revelation, but it does suffers from one potential drawback: Any fields in the data record set via ATRECORD that are not bound to a control on the form are not updated when the form contents are saved.
Of course there is a reason for this: OpenInsight forms only update individual fields in a record when saving data rather than the entire record, and it is this capability that allows it to implement the “Ignore Self Locks” feature that means you can use more than one form to simultaneously edit data in the same record.
Still, not every scenario calls for this level of finesse, so Openinsight 10 introduces a new WINDOW property called WRITEATRECORD. When set to TRUE$ all data set via the ATRECORD property is written to disk, just like “@Record” in Advanced Revelation.
(Disclaimer: This article is based on preliminary information and may be subject to change in the final release version of OpenInsight 10).
Bravo! Another great score. OI 10 really looks to be a great step in evolution to the product and for all developers
Carl, any ideas on how all of this will play with the proposed enhancements to databound OLE controls?
ATRECORD, and indeed the entire form IO layer, works through the DEFPROP property, so if you can link DEFPROP to an actual OLE property then you’re set. There’s a longer post scheduled for later in the week that goes into more detail on this, so hopefully it should answer this for you!