Im using a 3rd party control that needs a license key to run. I have left a message on their newsgroup but havent had a reply yet. Meanwhile, searching for the answer has lead me to believe it is a generic licensing technique that is used - so I thought i'd ask here.

A dll and an ocx is available, I am using the .ocx and the chart has been added at design time - it is not created at runtime.
The help file gives me the following:

If you are using the OCX or the DLL as a COM object, you must create your Chart FX objects using IClassFactory2. In C++ you would do something like this:

if (SUCCEEDED(hr = CoGetClassObject(<ChartFX Class ID**>,CLSCTX_INPROC_SERVER,NULL,IID_IClassFactory2 ,(LPVOID FAR *) &pFactory2))) {
hr = pFactory2->CreateInstanceLic(NULL,NULL,IID_IUnknown,<Chart FX License string*>,(LPVOID FAR *) &pUnk);
if (SUCCEEDED(hr))
p = CChartFXDll::Create(pUnk);

In MFC, IClassFactory2 is encapsulated into CWnd. If you are using the ActiveX control (you can not do this with the DLL), you can do:

CWnd m_ChartFX;
m_ChartFX.CreateControl(<ChartFX Class ID**>, NULL, WS_VISIBLE, rc, this, IDC_CHART1,NULL,NULL,<Chart FX License string*>);

So this takes care of COM. Both the ActiveX and the DLL is used as a COM object.

If you are using the DLL as a standard library (using chart_Create, chart_Send, etc.) you will not be helped by COM but Chart FX will still require a license to run. You must call:

chart_SetLicense(<Chart FX License string*>);

Before you can create any chart. Otherwise, the chart_Create function will fail.

I found the following link which only works if I dont reference the 3rd party control or select it as a component. It does add the control, however, none of the controls properties work when I add it in this way i.e. ctlMyTestControl.Width = 4000;en-us;188577

If anyone can give me any ideas on how to go about using 3rd party controls that are licensed in this way, it would be much appreciated.
If anyone happens to have used Software FX's Chart FX ClientServer 5.1 and has a VB example of how to license a control, a look at your code would be a huge help!