Simplicty and flexibility!


RefreshScreen() test.


Started by grohmann.papier@t-online.de
Search
You will need to Sign In to be able to add or comment on the forum!

RefreshScreen() test.

Hmmmm.....

Have tried the new RefreshScreen().
In my tests, the subforms are not updated.
Do I need there's a trick? (I gather in sub form a new record and return to the Main form, then I start RefreshScreen()  ) but the new record is not displayed.

Using the latest Version.

Kind regards
Markus


Written by grohmann.papier@t-online.de 21/08/16 at 20:09:22 Dataease [{8}]FIVE

Re:RefreshScreen() test.

And this is why it is important with users and feedback ;-)

Our development team has been "blinded" a little on this fix.

They have basically done the same for SubForms (which was missing) as for Main Forms.

As you know there can only be one main form while there can obviously be many records in the subform so the tix has been to refresh the content of the existing records rather than checking for new (and deleted) records.

This is "on paper" correct but.... ;-)

We have tested this a little further today and it turns out that you can delete a Man Record too and if you run refreshscreen() it will display the changes made to the main record prior to it being deleted.

Same goes for Subforms.

So it keep the cursor and re-read the data (which is now flagged as deleted) from the file position.

So overall a very bad method from the start.

We have to re-think this one and re-fix it as obviously fixing the original functionality is not good enough.

Thanks for the feedback and vigilance ;-)


Written by DataEase 22/08/16 at 09:07:10 Dataease [{8}]FIVE

Re:Re:RefreshScreen() test.

Hi again Markus.

RefreshScreen() wasn't even close to being just that...

Something as simple and useful as this one would like to think should have been addressed a long time ago. I guess the 6.x and 7.x era was the work-around era so everyone just got on with it.

The "original" RefreshScreen() basically utilised UNDO internally which means that it scrapped the changes and read back what was stored on file. The logic must have been that that would include changes done in the meantime which makes it an OK RefreshScreen() but a really stinky UNDO...

Anyhow, as you know subforms was left out of the logic and our first mistake was simply to employ the same strategy for subforms as for mainforms. The problem with that of course was that it is much more obvious in subforms that this logic is wrong.

Mainly the reason for doing a refresh is to use exactly as you did. To get rid of deleted rows and show added rows - imagine an update of a shopping cart etc.

But to get it this way was not straight forward.

1. Complete rewrite of logic, undo is not usable at all. Have to basically re-execute full filter search etc to get all new columns and get rid of old.
2. You might not be on the first row in the cursor so the re-search need to be done for the correct place of the cursor as well as for all other rows and subrows...

Have a look and test, I think we got it right this time.

You will need to download the latest version at this time which is 8.5.0.2471.


Written by DataEase 25/08/16 at 14:02:18 Dataease [{8}]FIVE
DG3_ForumList