vc下使用daqbench的问题 点击:1094 | 回复:8



侍剑

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 7回
  • 年度积分:0
  • 历史总积分:25
  • 注册:2004年12月14日
发表于:2005-08-15 18:03:00
楼主
我在vc下使用dxygraph控件, 显示的程序为: void CDaqbenchDlg::OnButton1() {double data1[10]; for(int i=0; i<10; i++) {data1[i]=i;} m_XYGraph.PlotXY(&ArrayToVar(data1, 10), 0);} 程序编译都过了,data1[i]值也赋上了, 为什么最后不能出波形啊?



古玉

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:0
  • 历史总积分:15
  • 注册:2005年6月01日
发表于:2005-08-17 13:17:00
1楼
对于XYGraph控件来说,X、Y值要分别赋,如 double data[100]; for (int i = 1; i<=50; i++) { data1[2*i] = rand();//赋点的X值 data1[2*i+1] = rand();赋点的Y值 } //m_XYGraph.SetPlotNum(1); m_XYGraph.PlotXY(ArrayToVar(data,100),0); 不过此代码虽能够显示图形,但还需要做一些改动。

侍剑

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 7回
  • 年度积分:0
  • 历史总积分:25
  • 注册:2004年12月14日
发表于:2005-08-17 15:07:00
2楼
谢谢,可我现在改用dgraph试,还是不行, void CDaqbenchDlg::OnButton1()     {long data1[10];     for(int i=0; i<10; i++)     {data1[i]=i;}     m_XYGraph.PlotXY(&ArrayToVar(data1, 10), 0);} 不能出波形 我把m_XYGraph.PlotXY(&ArrayToVar(data1, 10), 0);返回值取回来发现是 -1:the data type of Data is invalid。 可同样这段代码我放到例子程序环境下就没问题啊

侍剑

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 7回
  • 年度积分:0
  • 历史总积分:25
  • 注册:2004年12月14日
发表于:2005-08-17 15:16:00
3楼
o 哦 不好意思 ,这里写错了 不是:m_XYGraph.PlotXY(&ArrayToVar(data1, 10), 0); 而是:m_Graph.PlotGraph(&ArrayToVar(data1, 10), 0);

古玉

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:0
  • 历史总积分:15
  • 注册:2005年6月01日
发表于:2005-08-17 15:28:00
4楼
对于DGraph你用 m_Graph.SetPlotNum(1); m_Graph.PlotGraphs(ArrayToVar(data1,10),1,BoolToVar(false)); 试一试。应该行的。

侍剑

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 7回
  • 年度积分:0
  • 历史总积分:25
  • 注册:2004年12月14日
发表于:2005-08-17 15:48:00
5楼
我加了的,还是一样 就是想不通为什么一样的程序代码,在自带的例子里就可以,自己写的就不行,我的环境没弄好吗? 我建环境是:1、把varpacker.lib和varpacker.h拷到我的程序文件夹; 2、在 工程:添加工程:components and comtrols gallery :registered activex controls 里添加 DAQBench DGraph Control - (ADLINK); 3、在 工程:添加工程:files里添加varpacker.h 和 varpacker.lib。 然后在程序里 #include 该加的.h文件 我这样做有什么问题或遗漏吗?

huojunya

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 16回
  • 年度积分:0
  • 历史总积分:56
  • 注册:2004年10月22日
发表于:2005-08-17 16:15:00
6楼
http://www.gongkong.com/tech/detail.asp?id=285690 那就怪了,我的可以显示你的不能显示。 ArrayToVar()前面不要地址符&。 m_Graph.SetPlotNum(1);这句是要的,我试了下不要不能显示。 或者你改为: ArrayToVar var(Buf, 数据个数); m_Graph.SetPlotNum(划线个数); m_Graph.PlotGraphs(var,划线个数,BoolToVar(false)); 试试。

huojunya

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 16回
  • 年度积分:0
  • 历史总积分:56
  • 注册:2004年10月22日
发表于:2005-08-17 16:17:00
7楼
我qq:123806252,有空可以交流交流。

古玉

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:0
  • 历史总积分:15
  • 注册:2005年6月01日
发表于:2005-08-17 21:24:00
8楼
应该可以了吧,如果你运行时有错的话可以试着将添加VarPacker.lib文件用以下方法添加: Project->Settings->Link 选项卡,加入VarPacker.lib 总之你先要确认编译、链接有没有问题。

热门招聘
相关主题

官方公众号

智造工程师