I also have another issue that I’m starting to lose customers over, possibly to do with the IMDD tables.
The app is a visitor/contractor/staff sign-in sign-out program that has a manned mode, i.e. a receptionist can sign-in/out people, and also an unmanned kiosk mode, i.e. the people sign themselves in/out at a touch screen kiosk.
For years we have been plagued with freezing issues with the program is running in full screen kiosk mode. It used to be that the kiosk might freeze once every few days. We would advise the customer to setup a daily automatic reboot of the PC early in the morning and this would usually sort out the freezing issue for good.
Two version releases ago we implemented a change to the kiosk to allow for faster filtering/searching of the staff and visitor tables. Instead of searching the MSSQL database backend for records we implemented 2 IMDD tables: one for staff and the other for visitors. These tables are filled from Dynamic File Driver SQL scripts when the program launches and are synced with new records and updated records every 10 seconds by a procedure that is STARTed via a timer on the main thread. If the kiosk is open and is doing something, i.e. a staff member or visitor has started the sign-in/out process, then this sync is skipped. The kiosk window is STARTed on a different thread to the main thread. This is a multi-dll app.
Ever since changing the kiosk window to use the IMDD tables the filtering and searching is definitely faster, but the freezing issues have gotten extremely worse, to the point where I have had to downgrade a customer back to the previous version before this change.
I’m out of ideas as to why this freezing is occurring so much and also how to find the problem. It seems to be random. I can’t get the program to freeze on my testing PC’s, laptops, tablets, VM’s or server. For some customers the freezing is happened many multiple times per day. For others it might happen once or twice a day, or not at all that day.
This is a C8 app that I am in the process of upgrading to C11. I have one customer that I have upgraded to the C11 version and they still have the exact same freezing issues multiple times per day.
What can I do to find the cause of the freezing issues? Are IMDD tables not the right solution for what I’m trying to do?
Any help is greatly appreciated.