续!关于多进程同时使用硬件设备(Mifare读卡器)的解决方案
我有可能没有把问题交代的很清楚,我在说一下:
其实问题很简单,就是怎么在两个或多个进程间共享使用一个复杂类的实例?
所谓复杂类,就是又有属性,又有方法类,并且属性也有可能是个类比如如CString什么的。
我一开始认为DLL的共享数据可以做到,但是我试了,也失败了,它没办法共享复杂类,只能共享简单的数据类型或结构。后来我用了内存镜像文件来共享,结果和DLL的共享数据是一样的。最主要是类的长度是不定的,所以很难做到!
为什么我要用共享类的实例呢?我是把关于对硬件操作的内容全部封装在一个类里,一开始认为,只要能在DLL里共享这个类的唯一实例就可以解决在多个进程里使用硬件了(也许我一开始就错了)。
关于共享串口句柄,现在厂商在我的压力之下也在测试用共享串口句柄的方法,这个方法肯定是可行的,因为我不可能去直接改驱动,所以在这里想大家请教还有没有别的方法!