ActiveX control in a DLL

Visual Studio259
Hi All,



I oppologise if this is a stupid question but I know how to this in other

languages and it is driving me nuts.



I am successfully using Infragistic's UltraGrid control in an

application. I want to develop a serch routine, whcih also uses the

UltraGrid control, in a seperate DLL. The problem is that when I inlcude

all of the classes aI require I get duplicate class definitions and when

I only include the controls definition and use the previously defined

classes for columns, rows etc I get the following error:



error C2228: left of '.Item' must have class/struct/union type





The code looks like this :



// Required for column/band manipulation

#include "..\ERA\SSBands.h"

#include "..\ERA\SSBand.h"

#include "..\ERA\SSHeader.h"

#include "..\ERA\SSColumns.h"

#include "..\ERA\SSColumn.h"

// Required for cell manipulation

#include "..\ERA\SSRow.h"

#include "..\ERA\SSCells.h"

#include "..\ERA\SSCell.h"

If the above headers are generated when adding the ActiveX control I get

duplicate class definition errors

...

...

...

...



Search::Populate()

{

...

do what is required to popluate and all works up to here !!!!!



// manipulate columns as requried

_variant_t vCol;

_variant_t vBand;

vBand.ChangeType(VT_I2);

vBand.iVal = 0;



// Hide the id column

vCol.SetString("ID");

m_Contracts.GetBands().Item(&vBand).GetColumns().Item

(&vCol).SetHidden(true);

}



Can someone tell me how I "re-add" and ActiveX control into a DLL called

from the main applciation and should I require other classes offered when

add I wish to use other features of the ActiveX control how do I add the

definition files (e.g. to use the CSSOverride and CSSOverrides defined in

the UltraGrid control).



TIA



Ali


-