All new DataEase 8 functions and functionality look after their own screen update and refresh. But sadly, not all historic "new" functionality do the same.
The combination of Tab Control and Subforms and simply advanced Tab Controls have a tendency not to Refresh correctly.
RefreshForm() will simply refresh the current Document according to the "virtual" data record that is valid.
It will no re-read data from the database, simply update the GUI controls with the current values they should display.
It will not change any data.
None
Example
Here we get the opportunity to show it off with another new function - SetValue().
SetValue sets a value in any field, but it might experience GUI update problems. Especially if the field in question is currently having the Focus etc. So to make sure that Our new values are displayed immediately we simply call RefreshForm() as part of the button click.
This is obviously an unnecessary function but we have created it anyway...;-)
DataEase 7.x or aka. the "Flasher from Romford", was flashing and blinking like mad. Every time you moved from one field to the next, it looked like it was going to have a fit. In 7.2 we reduced this a lot, but not without side effects it seems.
The reason for all this flickering and flashing, was that DFW refreshed the screen everything something changed, and there was a good reason for this. Bad programming!
They had included a lot of new functionality over a very short time, and they hadn't really had time to do proper QA as a lot of you have since found out... All of these functions should "look after themselves" as one should in proper Object oriented programming, but it seems a lot of them slept in class, so the quick fix was simply to refresh them all all the time.
We switched that off in 7.2 and made them behave as they should most of the time, but they are many and they are everywhere, the code is big, old and difficult...Need we say more.
In 8 we have cleaned up a lot more, but our focus is no longer on making DataEase for Windows the neatest student in the class, but the one with the best tools, so instead of spending our time finding all the places and times it doesn't refresh properly, we leave it to by giving you a tool to do it for us.
You are the one that have the problem, and need a fix NOW. If you report it to us, we prioritise, put it into our development schedule you re looking at forever before you have a fix (most likely because we decide that it is not worth fixing anyway...;-)) Anyways, our focus now is on giving you the tools to fix any problem when you encounter it rather than coming crying back to mum.
FormRefresh() will simply insure that when you call it, the screen will look like you expected, that all objects that should display are displayed with the correct values derived or in-putted.
PS! Don't confuse this with the old function RefreshScreen(). (They should actually have swapped names). RefreshScreen() refresh the current form with the latest saved data from the database. This is useful if you have created a Horse Racing result app or something, and want to display the latest results.
FormRefresh() refresh the Screen but does not hit on the database, it simply refresh with the derived and inputed data in the temporary record (unsaved record). This is very useful if you have manipulated values with OML or other functions.
It will also sort out problem with Subforms not displaying correctly in Tabs etc...nobody have ever had this problem of course, but if one have, it will fix it...
Product: Dataease [{8}]FIVE. Written by DataEase 30/12/15 at 12:42:26
Product: Dataease [{8}]FIVE. Written by Peter Birney, PB Associates 30/12/15 at 14:23:03
Product: Dataease [{8}]FIVE. Written by DataEase 30/12/15 at 15:36:06
Product: Dataease [{8}]FIVE. Written by Peter Birney, PB Associates 04/01/16 at 16:35:23
Product: Dataease [{8}]FIVE. Written by DataEase 05/01/16 at 08:32:18
Product: Dataease [{8}]FIVE. Written by Rainer 23/06/19 at 10:49:29
Product: Dataease [{8}]FIVE. Written by grohmann.papier@t-online.de 23/06/19 at 20:22:37
Product: Dataease [{8}]FIVE. Written by grohmann.papier@t-online.de 23/06/19 at 20:31:56
Product: Dataease [{8}]FIVE. Written by Rainer 23/06/19 at 22:06:41
Product: Dataease [{8}]FIVE. Written by DataEase 25/06/19 at 13:02:19