Measurement Studio for VC++

Showing results for 
Search instead for 
Did you mean: 


We have some internal desktop processing software that is based on a registered but legacy NI Measurement Studio Components 1.0.1 and has these specific code dependencies in the form of some C/C++ headers, associated general libraries and exact library calls (extracted from the linker by temporarily NOT including any NI libs):



Source dependencies:




Library dependencies (directories and the specific libs listed separately):








Individual function dependencies:

"public: virtual __thiscall NI::CNiNumEdit::~CNiNumEdit(void)"

"public: __thiscall NI::CNiNumEdit::CNiNumEdit(void)"

"public: double __thiscall NI::CNiNumEdit::GetValue(void)"

"public: static enum NI::MathError __cdecl NI::CNiMath::Median(class NI::CNiVector const &,double &)"

"public: void __thiscall NI::CNiNumEdit::SetValue(double)"

"public: __thiscall NI::CNiVectorAccessException::CNiVectorAccessException(bool)"

"public: virtual __thiscall NI::CNiSafeArrayProxy::~CNiSafeArrayProxy(void)"

"void __cdecl NI::CreateVectorVariant(struct tagVARIANT *,unsigned short,unsigned int)"

"public: virtual __thiscall NI::CNiVector::~CNiVector(void)"

"public: virtual __thiscall NI::CNiVector::~CNiVector(void)"

"protected: __thiscall NI::CNiVector::CNiVector(void)"

"public: __thiscall NI::CNiVectorAccessException::CNiVectorAccessException(class NI::CNiVector const &,unsigned int,bool)"

"protected: void __thiscall NI::CNiDataProxy::Init(unsigned int,unsigned int)"

"public: static enum NI::MathError __cdecl NI::CNiMath::PolynomialEval(class NI::CNiVector const &,class NI::CNiVector const &,class NI::CNiScalarVector<double> &)"

"public: __thiscall NI::CNiPlots::~CNiPlots(void)"

"public: void __thiscall NI::CNiPlot::PlotXvsY(class NI::CNiVector const &,class NI::CNiVector const &)"

"public: class NI::CNiPlot __thiscall NI::CNiPlots::Item(long)"

"public: class NI::CNiPlots __thiscall NI::CNiGraph::GetPlots(void)"

"public: bool __thiscall NI::CNiNumEdit::GetDiscrete(void)"

"public: virtual __thiscall NI::CNiGraph3D::~CNiGraph3D(void)"

"public: __thiscall NI::CNiGraph3D::CNiGraph3D(void)"

"public: void __thiscall NI::CNiGraph3D::Plot3DSimpleSurface(class NI::CNiMatrix const &)"

"public: __thiscall NI::CNiMatrixAccessException::CNiMatrixAccessException(bool)"

"protected: void __thiscall NI::CNiMatrix::SetSizeExtents(unsigned int,unsigned int)"

"void __cdecl NI::CreateMatrixVariant(struct tagVARIANT *,unsigned short,unsigned int,unsigned int)"

"public: virtual __thiscall NI::CNiMatrix::~CNiMatrix(void)"

"protected: __thiscall NI::CNiMatrix::CNiMatrix(void)"

"public: virtual __thiscall NI::CNiGraph::~CNiGraph(void)"

"public: __thiscall NI::CNiGraph::CNiGraph(void)"

"public: void __thiscall NI::CNiGraph::ClearData(void)"

"public: void __thiscall NI::CNiPlot::ClearData(void)"


The questions are:

·         What is our upgrade path to Windows 7 with VS2008 or VS2010?

·         What is our upgrade path to the latest Measurement Studio 2010?


We are unable to install the 1.0.1 on Windows 7 and according to other postings, appears to be related to it being a 16-bit installer.



0 Kudos
Message 1 of 4

As per this document, Measurement Studio 2010 only supports .NET, so your internal desktop processing software would have to be re-written in .NET.  As far as the functions and libraries go, over the course of 12 years of development, not only could the locations have changed, but also the functions themselves.  It would be hard for me to know exactly what you need your program to do and what available functions you would want to use (some of these functions may no longer exist although there may be a new function that still performs the same task as the old function).


With regards to Visual Studio, I would say that upgrading to the latest version will provide you access to the current functionality.


I hope this helps!





Applications Engineering Specialist - Semiconductor Test
National Instruments
0 Kudos
Message 2 of 4

Thanks Sean. That confirms our path and that we should migrate to the latest MS2010.

However, one follow-up question would be what level of licence we might need given these legacy dependencies or requirements shown i.e. I understand not easy but is it possible to get any clue from the old libs and function calls below what edition we might need, for example, would this type of functionality be covered by the standard edition MS2010?







A more wider reaching question is to understand how all the functionality in the old three libraries (ivi.lib, NiInterfaceD.lib, instrsup.lib) maps very approxiamately to the new license editions i.e. which edition would cover all the functionality in these three legacy libaries.


Thanks again.


0 Kudos
Message 3 of 4

This will take a little digging, but I am looking into it.  There may not be one specific function to replace these.





Applications Engineering Specialist - Semiconductor Test
National Instruments
0 Kudos
Message 4 of 4