16. 如何在CVI中使用inp等低级函数?
答:CVI中是不能直接使用这种类型的函数对端口地址进行操作。需要使用CVILowLevelSupportDriverLoaded函数打开CVI对低级函数的支持。
17. 请问CVI中的事件驱动是指什么?
答:事件驱动是CVI应用程序和用户进行交互的核心原理,具体是指应用程序通过响应用户界面所发生的“事件”来执行代码、调用回调函数。这些事件可以是发生在面板上的对象或者是面板自身。使用LabWindows/CVI进行编程,可以生成事件驱动的代码。通过事件驱动代码,可以将用户界面中的控件连接到代码中的函数。每次对用户界面进行操作都会产生一个事件,LabWindows/CVI就会确定在何控件上发生了什么事件,如果对该控件有一个相应的回调函数,就会激活并运行该回调函数中的代码,进而响应事件。
18. 请问CVI中回调函数的参数分别有什么意义?
答:CVI中回调函数的第一个参数是控件所在的面板的句柄。第二个参数为产生事件的控件的标识符。第三个参数是所产生的事件。第四个参数是回调数据,这些回调数据被用来在回调函数之间传递数据。回调数据可以是任何类型的数据。第五和第六个参数随着事件的不同而不同。
19. LabWindows/CVI控件的四种模式有何区别?
答:1. Normal:这个控件可以由用户直接操作或者是通过编程来进行操作。但是只能够产生数值改变事件而不能产生COMMIT事件。
2. Hot:这个控件可以由用户直接操作或者是通过编程来进行操作。用户的操作可以产生数值改变事件以及COMMIT事件。
3. Validate:与Hot模式相似,但是CVI环境会检查面板上所有数值控件的值是否处于有效范围内,只有所有的值都有效才会产生COMMIT事件。如果有无效值存在就会弹出一个对话框,而不生成COMMIT事件。
4. Indicator:只能做显示用,这个控件只能通过编程进行操作。用户对其的操作不会产生任何事件(没有回调函数)。
20. CVI中的事件驱动,在一个回调函数中会响应几个事件?
答:在CVI中的事件,当控件响应一个鼠标按钮时它会产生几种事件,并在回调函数中执行响应的代码。例如:当用鼠标点击开关时会产生EVENT_COMMIT和EVENT_VAL_CHANGED事件,这样在回调函数中就会出现执行两个不同的代码的情况。