UltimaSerial When you upgrade an ActiveX in .NET project
 

Windaq add-ons

Background:

When an ActiveX control is embedded in a .NET project, a so-called wrapper class is created. It contains the definition of all the methods, properties, events and enum values. If the ActiveX is changed, a new wrapper class is needed to reflect it.

UltimaSerial

Until the release of DI-145, UltimaSerial ActiveX used enum values for the properties of Device and CommPort so that the programmers can select a value from a list when editing the two properties. As DATAQ adding more and more devices, we decided to cut the cord and open up the field for all possible future products by dropping enum values.

Since the enum values are dropped in the latest UltimaSerial, it is desirable to recreate the wrapper class if you wish to keep your project up to date.

The above explanation is too technical? Read on

What you will notice

When developing your .NET project or using our sample projects, you will notice the following when editing the Device and CommPort properties:

Case 1) 

axUltimaSerial1->Device=ULTIMASERIALLib::enumDeviceType::DI158;

axUltimaSerial1->CommPort =ULTIMASERIALLib::enumComPort::USB;

or

Case 2) 

axUltimaSerial1->Device=158;

axUltimaSerial1->CommPort =0;

Which one is the right one?

If case 2) is what you have in your project, congratulations! You have the latest UltimaSerial installed on your PC and the .NET wrapper class was up to date, and you can skip the rest of the page.

If case 1) is what you have, you have an older UltimaSerial wrapper class on your PC, and you should consider the following steps for future benefit.

Solution:

  1. Download and install the new UltimaSerial
  2. Remove UltimaSerial from the form of your project
  3. Open the toolbox of the IDE
  4. Remove UltimaSerial from the toolbox of IDE
  5. Check IDE->Project->Show All Files
  6. Remove all reference of UltimaSerial from the Solution Explorer of your Project


  7. Re-embed UltimaSerial to  the toolbox of IDE then the form of your project
  8. Change 

    axUltimaSerial1->Device=ULTIMASERIALLib::enumDeviceType::DI158;

    axUltimaSerial1->CommPort =ULTIMASERIALLib::enumComPort::USB;

    to

    axUltimaSerial1->Device=158;

    axUltimaSerial1->CommPort =0;

  9. Recompile and it should work now

Last update: 03/12/12

Copyright: 2000-2012  www.UltimaSerial.com