[ACXFAQ019]
Visual C++.NET Applications not supporting Plot Pack ActiveX Components (iPlotX, iXYPlotX, and/or iScopeX Components)!


The Visual C++.NET 2002 (a.k.a. Visual C++ 7.0) and Visual C++.NET 2003 development environments do not properly generate ActiveX interface "wrapper" files for our Plot Pack ActiveX components.  This is not an issue with our other ActiveX controls or any of our controls in VB.NET or C#.NET, just in the Visual C++.NET IDE.  The problem stems from the inability of Visual C++.NET to properly import the sub-interfaces of our Plot Component ActiveX controls.

There are two workarounds to resolve this problem...

Workaround #1 for New Visual C++.NET Projects

Create your project in Visual C++ 6.0, and then import the project into Visual C++.NET

 

Workaround #2 for New or Existing Visual C++.NET Projects

Manually import pre-created wrapper files that have been created in Visual C++ 6.0 for your particular version of our control.  We provide downloads of pre-created wrapper files in our download section of our website, or you can generate them yourself by creating a blank Visual C++ 6.0 application, inserting our control into your form or project, and creating a member variable to trigger Visual C++ 6.0 to generate these files for you.

You will need to perform the follow these steps to manually import the pre-created wrapper file and to create a member variable in Visual C++.NET...

  • Please first make a backup copy of your project.
  • Open your Visual C++.NET project in the .NET Studio IDE.
  • Copy the pre-created wrapper files for the particular version of our Plot Controls you are using to the root folder of your project.
  • Select "Add Existing Item..." from the "Project" menu.
  • Navigate to your project folder, and select all files listed below for the particular Plot Pack ActiveX component you will be working with...

    In Version 3.0.2 SP1 of our Plot Pack, these files would be...
iPlotX Control
[CiPlotX Class]
iXYPlotX Control
[CiXYPlotX Class]
iScopeX Control
[CiScopeX Class]
font.cpp font.cpp iscopechannelx.cpp
font.h font.h iscopechannelx.h
picture.cpp picture.cpp iscopedisplayx.cpp
picture.h picture.h iscopedisplayx.h
iplotannotationx.cpp iplotannotationx.cpp iscopetimebasex.cpp
iplotannotationx.h iplotannotationx.h iscopetimebasex.h
iplotaxisx.cpp iplotaxisx.cpp iscopetoolbarx.cpp
iplotaxisx.h iplotaxisx.h iscopetoolbarx.h
iplottoolbarx.cpp iplottoolbarx.cpp iscopetriggerx.cpp
iplottoolbarx.h iplottoolbarx.h iscopetriggerx.h
iplotdatacursorx.cpp iplotdatacursorx.cpp iscopex.cpp
iplotdatacursorx.h iplotdatacursorx.h iscopex.h
iplotdataviewx.cpp iplotdataviewx.cpp  
iplotdataviewx.h iplotdataviewx.h  
iplotlabelx.cpp iplotlabelx.cpp  
iplotlabelx.h iplotlabelx.h  
iplotlegendx.cpp iplotlegendx.cpp  
iplotlegendx.h iplotlegendx.h  
iplotlimitx.cpp iplotlimitx.cpp  
iplotlimitx.h iplotlimitx.h  
iplottablecolumnx.cpp iplottablecolumnx.cpp  
iplottablecolumnx.h iplottablecolumnx.h  
iplottablex.cpp iplottablex.cpp  
iplottablex.h iplottablex.h  
iplotchannelx.cpp iplotchannelx.cpp  
iplotchannelx.h ixyplotchannelx.h  
iplotx.cpp ixyplotx.cpp  
iplotx.h ixyplotx.h  

*Items highlighted in green illustrate the only file differences between the iPlotX and iXYPlotX controls.
**In older versions of our Plot Pack Components, some of the files above may not exist for your particular version.  For example, version 3.0.0 SP0 doesn't include the "iplottable" files listed above, only Versions 3.0.2 SP1 and higher do.
 

  • Click "Open" to import these wrapper files into your project.
  • Add the Plot component to your form (if you have not already done so) by Right-Clicking on the form and selecting "Insert ActiveX control...".
  • Create a member variable for the component so that you can access the properties and methods of the Plot Pack ActiveX component. Right-Click on your form and select "Add Variable...".
  • Select the IDC value for the control (generally IDC_IPLOTX1 for the first plot component)
  • Set the Variable Type to "CiPlotX" (CiXYPlotX for the iXYPlot component, and CiScopeX for the iScope component) by manually typing in "CiPlotX".*
  • Give the component a name such as "m_iPlotX1", or any name of your choosing.
  • Click on the "Finish" button.
  • Manual Installation Complete!
  • Continue using your project as you would under Visual C++ 6.0.  Remember to add #include statements at the top of your "cpp" file for the various "wrapper" header files as necessary for those plot component sub-interfaces you will be accessing.

    For example...
     #include "iplotaxisx.h"
    ...or...
     #include "iplotchannelx.h"
     
  • Access the component via the member variable you created, such as m_iPlotX1.

    For example...
    m_iPlotX1.GetChannel(0).AddXY(1.0, 10.5);
    m_iPlotX1.GetToolBar(0).SetVisible(FALSE);
    m_iPlotX1.GetXAxis(0).SetLabelsFormatStyle(2); //iptfDateTime

*Note: in Visual C++.NET 2003 you may encounter a JavaScript error when working with our controls in the "Add Variable..." dialog (dialog where you add member variables for our controls).  This is an error in the .NET JavaScript running the dialog.  Just ignore the error by selecting Yes to continue running scripts on the page.


Copyright ©1998-2007 Iocomp Software Incorporated. Iocomp and the Iocomp Logo are registered trademarks of Iocomp Software Inc. All other trademarks are registered by their respective owners.