What is the priority of the serial port ActiveX control running under VBA under Microsoft Access under Windows 10?
I have a real time control application implemented in MS Access VBA under Windows 10 which uses Eltima Serial Port ActiveX controls embedded in an Access form to receive small text strings from a couple of serial devices (a barcode scanner and a scale) and uses them to identify and pull larger blocks of text (under 512 characters) from a static memory static array (no disk I/O) and send them to another serial device (a printer) in a cycle that repeats about every two seconds. It works like a champ until the user prints a report in the same Access application to an attached (USB) printer.
While the printer is printing the report, the next time the control loop tries to access any of the ActiveX methods, in particular myPort_OnRxChar, Access/VBA throws an error 2468 "You can't carry out this action at the present time.", which is not very descriptive. I assume that this is an issue with the event driven nature of Windows. Does anyone know for sure why this is happening? What is the priority level given to the serial ActiveX software relative to other processes in the application (Access) or the OS (Windows 10)? Shouldn't it be interrupt driven?
Has anyone else discovered this lack of real time response using the Serial Port ActiveX controls? Are there workarounds (besides faster machines)?