I have created a shadow database for my application on a user's local drive. It works wonderfully, superb performance too.
I created the shadow using the "Network Optimize" instructions in the A5 documentation and A5v7 Runtime - it seems to work really well. I chose the options to "refresh shadow automatically" and "entire version number" for a refresh.
The folder containing the master copy of my application (the folder containing my .ADB file etc.) sits on a shared folder on a server. The shadow is on the C: drive of the user's PC. It's a separate PC to the server of course.
I installed the shadow using a version number 0.74 of my application which I set using A5_SetAppVersionNumber(). I know I have set it correctly because I have it displayed on an "About" form in my application.
I update the application and give it a new version number of 0.75. Now I am ready to update the shadow. So I take the entire development directory (the one with the .ADB file and everything else) and copy it to the shared folder (after deleting everything there first).
Now I open up the Runtime application on the user's local drive to see what will happen. Well, nothing happens. Oh, that's not right is it?
I observe the application number has correctly updated to version 0.75 and all my application's table contents reflect the contents that I placed in the shared folder, but nothing else in the shadow has updated - e.g. forms etc are still at version 0.74.
Hmm. Something's amiss. I try forcing a shadow update using "refresh_shadow()" which I have cunningly attached to a hidden hotspot in my application in anticipation of needing it. But that does nothing. The puzzle deepens.
So I resort to opening up the control panel and using the A5 Tools menu, Refresh Shadow option. And that works! Yippeee, way to go.
But now I have a puzzle. Why did my shadow not automatically update when I ran it on the users PC after updating the shared folder to version 0.75? And why did it again not update when I ran "refresh_shadow()"? Of course I don't want my users to have to do a manual refresh shadow from the A5 control panel every time there is an update to my application.
Can anyone help me solve this one?
Many thanks.
I created the shadow using the "Network Optimize" instructions in the A5 documentation and A5v7 Runtime - it seems to work really well. I chose the options to "refresh shadow automatically" and "entire version number" for a refresh.
The folder containing the master copy of my application (the folder containing my .ADB file etc.) sits on a shared folder on a server. The shadow is on the C: drive of the user's PC. It's a separate PC to the server of course.
I installed the shadow using a version number 0.74 of my application which I set using A5_SetAppVersionNumber(). I know I have set it correctly because I have it displayed on an "About" form in my application.
I update the application and give it a new version number of 0.75. Now I am ready to update the shadow. So I take the entire development directory (the one with the .ADB file and everything else) and copy it to the shared folder (after deleting everything there first).
Now I open up the Runtime application on the user's local drive to see what will happen. Well, nothing happens. Oh, that's not right is it?
I observe the application number has correctly updated to version 0.75 and all my application's table contents reflect the contents that I placed in the shared folder, but nothing else in the shadow has updated - e.g. forms etc are still at version 0.74.
Hmm. Something's amiss. I try forcing a shadow update using "refresh_shadow()" which I have cunningly attached to a hidden hotspot in my application in anticipation of needing it. But that does nothing. The puzzle deepens.
So I resort to opening up the control panel and using the A5 Tools menu, Refresh Shadow option. And that works! Yippeee, way to go.
But now I have a puzzle. Why did my shadow not automatically update when I ran it on the users PC after updating the shared folder to version 0.75? And why did it again not update when I ran "refresh_shadow()"? Of course I don't want my users to have to do a manual refresh shadow from the A5 control panel every time there is an update to my application.
Can anyone help me solve this one?
Many thanks.
Comment