Thanks Sergey.
>The CREATEOBJECT() uses an IDispatch interface. The CREATEOBJECTEX() called with an empty second parameter uses the default interface (IID) of the COM server.
>
>
>>I am testing a 3rd party DLL. When I use CREATEOBJECT() to instantiate an object this works but any subsequent attempt to access any of the objects methods or properties fails with message "0x8002801d - library is not registered". I then found on the web a solution to use CREATEOBJECTEX() instead and leave the second/third parameters as blank i.e. "". This now works properly. My question is can someone just explain what is going on here?
>>
>>Thanks
In the End, we will remember not the words of our enemies, but the silence of our friends - Martin Luther King, Jr.