原创 something about cvi

2011-4-19 11:22 4266 6 6 分类: 工业电子

1.如何在CVI中实现Flash文件的播放?
回答=首先需要安装FLASH PLAYER的ActiveX控件。在PANEL上面添加ActiveX控件,在向导中添加SHOCKWAVEFLASH控件。然后使用CVI的自动生成程序框架代码,在向导中会自动生成相应的FP文件。可以根据FP文件提供的函数进行编程了。GetObjHandleFromActiveXCtrl获得 ActiveX控件的句柄,ShockwaveFlashObjects_IShockwaveFlashSetMovie设置要播放的文件 ShockwaveFlashObjects_IShockwaveFlashPlay播放文件 ShockwaveFlashObjects_IShockwaveFlashStop停止播放

2.在LabWindows/CVI中如何使用DAQmx采集数据?

回答=在LabWindows/CVI中的Function Panel里调用NI-DAQmx Library目录下的函数,调用顺序与在LabVIEW中使用DAQmx的API函数基本一致,都必须遵守创建任务->配置通道->设置采样率->设置触发->采集数据->停止任务->清除任务这样的基本顺序

3.CVI中如何使用UDP协议?
 回答=CVI中没有带有关于UDP协议的fp文件,需要使用winsock来写。
 
 4.CVI下如何编写多线程程序?
 回答=可以使用函数模版中的Utility Library目录下的函数,首先用CmtNewThreadPool (int Maximum_Number_of_Threads, int *Pool_Handle)函数创建一个线程池(也可以使用程序默认的线程池),然后使用CmtScheduleThreadPoolFunction (int Pool_Handle, ThreadFunctionPtr Thread_Function, void *Thread_Function_Data, int *Thread_Function_ID)函数来指定每个线程的回调函数,以实现不同的操作。最后,记住一定要在结束程序的时候调用 CmtDiscardThreadPool (int Pool_Handle)函数释放这些线程的系统资源。
 
 5.在LabWindows/CVI中如何将自己编写的函数放在函数模版中,使它可以像函数模版中原有的函数那样使用?
 回答=先新建一个Function Tree,然后在这个Function Tree下新建一个Instrument,并在这个Instrument下建立函数分类(将函数分类管理),再建立一个Function Panel,在上面添加输入输出控件和帮助信息,(如果这个函数没有使用到数采硬件,那么在Option下面将IVI/VXIplug&play Style前的勾去掉)然后选择Tools下的Generate New Source for Fuction Tree,最后只要在自动生成的*.c文件中添加函数的代码并保存,然后就可以像函数面板中的其他函数一样调用了。(下次使用 LabWindows/CVI时需要重新载入)
 
 
 6.在没有.LIB和.H文件时,CVI怎么调用DLL??
 回答=使用SDK中的LoadLibary和GetProcAddress以及FreeLibrary可以实现动态DLL的调用

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条