DataEase 8.5 - Record1 Object name fix and Renaming Enabled (Ver. 8.5.0.2028)
As we are getting closer to DE85 Developer release, we are obviously also getting closer to "full circle" when it comes to functionalities.
Something that started with the simplest of SetColor() in 8.0 has evolved into a very powerful manipulation framework of form where you now can change the look:
SetColor() and the much more powerful and flexible SetStyle().
Hide and show, enable/disable and even "click" on other objects with SetState().
Set Focus on a field and make a dynamic tab order with SetFocus()
and last but not least, move and re-size objects with MoveObject().
As one use these objects and navigate a DataEase form one realise that there is some challenges....
What about manipulation of Subforms?
This is where the ability to rename objects become useful... if you have CustomerNr on the mainform and again on the Subform they will have the same objectname....
So if you want to manipulate the one on the Subform you have to manipulate CustomerNr Nr. 2...
This we solve with SetStyle("CustomerNr#2","NewStyle") if we want for the CustomerNr on row 1... not very logical so better to rename the object something like SB1_CustomerNr and we can then address the one on row 1 as 1 and the on on 10 as 10.
All good so far.
But you can also manipulate an entire Record of Subform simply by naming it.
SetState("Record1","Hide") will all all the objects in a form that is on Record1 i.e. Main Record.
SetState("Record1#2","Hide") will hide the first record (row) in the first subform in the taborder.
So far so good, but if you have many Subforms and even worse... nested subforms you will soon loose control.
This is why the latest addition to this "feature" is the ability to rename the Record object.
First fix is that the record object is no longer changing name after first save. It will now be called Record1 from the beginning, but even better you can now change the name the same way on Record object as you can on all other objects.
This way the addressing and Nesting will be much more straight foward.
Have a go!