1. Differences
When developing new tests, C/C++ users must decide whether to use the C/CVI Standard Prototype Adapter or the DLL Flexible Prototype Adapter. Each adapter has advantages. Use the adapter that best suits your particular needs.The C/CVI Standard Prototype Adapter uses a standard prototype while the DLL Flexible Prototype allows a choice of various function prototypes. The DLL Flexible Prototype Adapter gives you more flexibility when you define your test functions. You can pass any number of arguments directly to a test function. This makes it convenient to access TestStand variables or properties in the function. Of course, you can always use the TestStand API to access TestStand variables and properties from test functions that you call with either adapter.
The C/CVI Standard Prototype Adapter allows you to step into C source files and DLLs from TestStand using an external instance of CVI. However, you can always debug a DLL from your C/C++ development environment by launching the sequence editor or operator interface as an external process from the development environment. The C/CVI Standard Prototype Adapter makes debugging more convenient for CVI users by allowing them to step into their C source or DLL directly from TestStand.
The C/CVI Standard Prototype Adapter also allows you to use object files, static libraries, and C source files (in CVI). In addition, the C/CVI Standard Prototype Adapter has tighter integration with the CVI environment for creating and editing code. Finally, the C/CVI Standard Prototype Adapter uses a fixed prototype to which it passes a predefined set of parameters. You do not need to specify the argument values to pass to your test functions.
2. Feature Table
Feature | C/CVI Standard Prototype | DLL Flexible Prototype |
| Test functions can have a variety of prototypes | No | Yes |
| Allows you to directly pass any argument to a test function | No | Yes |
| Automatically passes a predefined set of common arguments to each test function. | Yes | No |
| Allows debugging C source files from TestStand | Yes 1,2 | No |
| Allows debugging DLL functions from TestStand | Yes 1,2 | Yes 1,3 |
| Code modules can be C source files, object files, or static libraries | Yes | No (DLLs only) |
| Can call DLLs created with MSVC++, Borland C++, Delphi or another compiler | Yes | Yes |
| Is backward compatible with CVI Test Executive Toolkit | Yes | No |
| Can create source code from code templates | Yes 4 | Yes |
| Can use TestStand API within code modules | Yes | Yes |
1 Requires CVI 5.0 or later.
2 You must configure the CVI Standard Prototype Adapter to execute steps in an external instance of CVI.
3 You must launch the sequence editor or operator interface from the DLL development environment.
4 Creation and editing of source code is integrated with the CVI environment
3. Summary
The needs of your organization will dictate which is the better adapter for your particular needs. When making your decision, keep in mind that it might be difficult to switch from one adapter to the other once you have started test and sequence development.
