我要在程序中读一张卡,主要分成四个过程,
1.读卡器的初始化。InitDev;
2.检测是否有卡插入。CheckCard;
3.读取卡上数据。ReadCard;
4.读卡器的关闭。CloseDev;因为检测是否有卡插入是一个循环过程,所以我想把它放到一个线程里去检测,
而且等一切结束了,要保存读卡的数据,还要关闭本窗体,然后开起另外一个窗体。请问这4个过程该怎么安排才比较合理???
1.读卡器的初始化。InitDev;
2.检测是否有卡插入。CheckCard;
3.读取卡上数据。ReadCard;
4.读卡器的关闭。CloseDev;因为检测是否有卡插入是一个循环过程,所以我想把它放到一个线程里去检测,
而且等一切结束了,要保存读卡的数据,还要关闭本窗体,然后开起另外一个窗体。请问这4个过程该怎么安排才比较合理???
然後, 循环檢測: 2.检测是否有卡插入
如果找到了, 就: 3.读取卡上数据。ReadCard;
并用個事件, 或消息通知主線程 or 其它, 將讀到的數據發過去
1.读卡器的初始化。InitDev;
4.读卡器的关闭。CloseDev;
只會在程序運行中執行一次, 或者比較少的開關, 而:
2.检测是否有卡插入。CheckCard;
3.读取卡上数据。ReadCard;
會多次執行, 連續執行:如果我不理解錯的話,
>>那么线程中应该开始执行4过程对设备进行关闭操作,
你這句我就不理解了, 你每次讀到數據後, 就要關閉????一般, 我也做過類似的, 我將硬件通訊做到一個線程, 收到數據後, 直接發給主窗體(其它也類似), 這樣保證通信部分的快速反應,
至于數據處理, 則由另外一個獨立部分處理, 有要改動的時候, 也比較清楚!>>但是如果,关闭本窗体,程序退出的话,这时4过程有没有执行完,
你在程序退出時, 要釋放線程啊, 當然沒問題! 我覺得, 不大存在:4过程有没有执行 的可能將1,2,3,4放到一起, 主要是管理方便, 要不然, 你要將設備ID之類的傳來傳去, 或用全局變量保存, 都會帶來一些負面的效果!如果你的1,2,3,4是一次連續執行的, 那你可每次產生一個新的線程, 結束原來的就可
过程1放到线程初始化里,
2,3放到线程执行过程里,
4放到OnTerminate事件中,或者析构函数里,主线程接收到消息后,进行数据处理。你觉得这样设计合不合理,有没有安全方面的问题???