IP Driver and with IN-Memory Driver Caching

(I saw there are a few IP-Drivers and Memory driver posts)
My IP-Driver app works well and has a few IN-Memory tables as well.

Question: has any one successfully actually used the In-Memory Data Caching feature on an IP-Driver-enabled application Topspeed table?

What was tried…
Template name: “In-Memory Data Caching support”
Add the template to the IP-Driver-DLL APP and enabled a file for caching- Holidays.TPS
(more steps in between to ship the dll to the ip-driver-host and register it into the IP server)
Add the template to the Desktop APP and Select the THAT File.

Running the desktop APP give error window:
[FileSync - Open]
“Error opening the Physical File.
File: data\holidays.tps
error(90) File system Error
File Error (27) Invalid table declaration”

Purpose is to test a file for processing.

Clarion 11.1.13815,
IP Driver: 11.1.137144,
In Memory driver: 11.1.13744

  1. The template support for the in-memory driver has never done me any good. I just hand code everything I need from the In-Memory driver.

  2. Be warned that the in-memory driver, despite what the documentation says, is not THREAD safe. It should NOT be used on the server side for SET/NEXT loops. Most of the time it will probably work client-side, assuming you don’t let the user trigger multiple threads doing SET/NEXT loops on the same memory table. The problem has been reported to SV with an app that always reproduces the problem, but the issue has been given a low priority.

  3. Look for a thread safe QUEUE library from a 3rd party. If I have to write any more code where I want something like the In-Memory Driver (but something that works) then that is the route I will be going.

1 Like

The 11.1.13845 Oct 20, 2023 release corrects the problem with IMDD not being thread safe with the SET/NEXT loops.