LabWindows/CVI Core 2 Course Overview

The LabWindows™/CVI Core 2 Course is an extension of the LabWindows/CVI Core 1 Course. After attending the course, you can create applications that use network communication, DLLs, and ActiveX. You will learn how to create powerful user interfaces using menus and toolbars. You will be able to take full advantage of the PC with your application by learning how to program a multithreaded application.


Course Last Release Date or Version Number: 2020

Course Details:

LabWindows/CVI Core 2 Course Outline


Review of Core 1 Concepts

This short lesson reviews important concepts from the LabWindows/CVI Core 1 course.

  • Operation of the callback function model in LabWindows/CVI
  • Operating system messaging and LabWindows/CVI
  • Structure and use of instrument drivers

User Interface Programming

This lesson describes additional user interface features that are in LabWindows/CVI and uses the features in hands-on exercises.

  • Changing the appearance and function of user interface objects
  • Creating custom menus with the menu editor
  • Programmatically controlling complex menus
  • Adding table controls to your user interfaces
  • Using a tree control to display hierarchical data
  • Displaying complex multi-dimensional data in an intensity graph 
  • Adding predefined custom controls such as toolbars, path controls, progress bars, color pickers, and combo boxes to your user interfaces

Interoperability and Network Communication

This lesson describes technologies for implementing interoperability and network communication, including .NET, ActiveX, network variables, TCP and UDP.

  • Interacting with .NET assemblies using LabWindows/CVI
  • ActiveX technologies and using LabWindows/CVI as an automation client to control external applications
  • Building applications that can pass data over the network using network variables
  • Using TCP/IP for complex Internet communication
  • Using UDP to broadcast data

Creating and Using Dynamic Link Libraries (DLLs)

This lesson describes techniques to create and use DLLs.

  • Developing code that is modular and reusable
  • Compiling your modules as a DLL so other applications can take advantage of your development
  • How to easily debug your DLLs

Multithreading and Windows SDK Functions

This lesson teaches advanced programming techniques in LabWindows/CVI. You will learn how to create a multithreaded application and use thread safe queues to safely pass data between threads. You also learn to use the Windows SDK functions to add flexibility to your LabWindows/CVI applications.

  • Building efficient multithreaded applications
  • How LabWindows/CVI uses threads
  • Using thread safe queues to safely transport information between threads
  • How to protect critical sections in your threads
  • Using the Windows SDK functions to expand the functionality of LabWindows/CVI
  • Additional features in LabWindows/CVI to improve code performance

LabWindows/CVI Toolkits and Modules

This lesson teaches powerful features to further decrease your development time and costs.

  • Using the LabWindows/CVI Execution Profiler Toolkit to identify bottlenecks and inefficient code and optimize run-time performance
  • Additional LabWindows/CVI toolkits and modules

Get started with LabWindows/CVI Core 2 today