最近有个项目,用了VB,但一开始就遇上难题了,向大家请教。一个数据采集卡会传来一些数据,我现在本想定义一个数组来存储这些数据,然后再为这些数据作图,但这些数据有时会采集很长时间,有时又比较少。但忽然发现VB不能动态申请内存,数组可重定义长度却效率不能满足。同时由于用在工业控制上,实时性比较重要。因此想请教高手们,遇上这种情况,而且坚持使用VB的话,我应该怎么办?谢谢。

解决方案 »

  1.   

    首先只要基于Windows编程,不管用什么语言编程,都很难做到真正的实时性(Windows的定时误差在100ms以上)。发现VB不能动态申请内存,数组可重定义长度却效率不能满足
    ------------------------------------------------------
    使用API函数可以实现动态申请内存,而且效率也高。VB做工业控制是没有问题的,由于VB里实现多线程比较困难,建议做一个Active EXE程序专门用于数据采集,而界面显示程序只进行数据显示。
      

  2.   

    把采集到的二进制数据转成用字符串表示的十六进制数据
    然后储存到字符串里去
    由于字符串对ascii大于127的字符提取会出错,所以只能这样转一下了,如果你是小于127的ascii码的话也可以直接存到字符串里