Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Revisit of X3RLB.prg
Message
From
23/12/2016 12:25:06
Mike Yearwood
Toronto, Ontario, Canada
 
 
To
21/12/2016 11:20:20
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows 10
Network:
Windows Server 2012 R2
Database:
Visual FoxPro
Application:
Desktop
Virtual environment:
VMWare
Miscellaneous
Thread ID:
01642376
Message ID:
01645970
Views:
129
>Thanks. Do you then use table buffering on all your tables (or are all your apps remote views to a C/S database)?

In straight vfp systems, I have the form's buffermode set to Optimistic. If I use cursors in the data environment - which I seldom do - buffermode override is 0. The business objects and data objects are universally buffermode 5. So all tables/cursors are being buffered. I've never seen a VMP system where a user's child records were updated to the table and then failed to re-appear on the same workstation.

>
>Albert
>
>>>Thanks Mike. I read through the notes and they confirm what I have generally seen. I then traced through the posting of a form and realize that for my forms, the code in UpdateBuffers() that issued a FORCE alias FLUSH never fired on my tables because it only fires if the table in question is buffered - I have generally turned buffering off in my forms for tables (but on for views). I guess I have turned off as I figured I did not want data buffered in the table itself. Then I noticed that the VMP notes recommend buffering being on - because it is wrapping everything in a transaction and the only way to back out of a transaction would be to buffer the table?
>>>
>>>So either I turn on buffering for tables and allow the default code to issue the FLUSH-FORCE or I leave in my augmented code that issues this command explicitly in .SaveAfterSuccess() for each individual form. Thoughts on table buffering?
>>
>>Welll - I do let VMP do it's thing as often as possible. I would not add augmented code as it becomes the failure point. I also standardized on a single form class and the data objects are mostly standardized. I advise you take a standard that works for most situations and augment when it does not.
>>
>>>
>>>Albert
>>>
>>>
>>>
>>>>>Hi Mike,
>>>>>
>>>>>Thanks for the response. I am going to re-post this because re-reading the docs once again, I realize that my problem is slightly different than what is noted in the docs.
>>>>>
>>>>>I found that X3RLB does indeed solve the original problem I had with data *from another workstation* not showing up in a report - so I implemented that and it worked. But I am having trouble with data not showing up that is posted by the same user i.e. post data via a form, then user reopens a bit later and data not there (only child data it seems, weird).
>>>>
>>>>In frmData of xxfw.vcx method UpdateBuffers have a look at the comments regarding FLUSH.
>>>>
>>>>>
>>>>>Albert
>>>>>
>>>>>>Hi Albert
>>>>>>
>>>>>>Sorry for taking so long to get back to you. The docs on x3rlb says calling it before every query should work. That sounds like overkill though.
>>>>>>
>>>>>>>Hi Mike,
>>>>>>>
>>>>>>>I am having to cycle back to the X3RLB discussion (for a different problem). A few users have reported that they sometimes have missing rows in a form if they enter the data, then exit the form, then go back in a few minutes to change something. It usually seems to be child records of a form. Note that this is all with native VFP tables, no SQL etc.
>>>>>>>
>>>>>>>I thought of using the X3RLB program to force a lock on the tables thus hopefully forcing a refresh of the data.
>>>>>>>
>>>>>>>Question: if this table is open in multiple data sessions, do I need to force a refresh for the same time in each data session or would it suffice to force it in just the first datasession where it is found (if you know). It seems to me that doing it once would suffice but don't really know.
>>>>>>>
>>>>>>>Thanks,
>>>>>>>Albert
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform