Steps to create a simple SI Add-in using Visual C++ 6.0 1) Create new project using MFC AppWizard (dll) (optional) MFC Statically Linked Automation 2) Insert new ATL object: Simple Object (or whatever you want to implement) Default settings 3) In ClassView, right-click on class and select "Implement Interface..." Browse type libraries and select "Smallworld Spatial Intelligence Extensibility Objects" Add the _SIExtensibility interface 4) Add implementation code! My preference is to move the methods to the .cpp file and just leave declarations in the .h file, as follows: .h: STDMETHOD(get_AddInProperties)(_SIAddInProperties * * ); STDMETHOD(Initialise)(IDispatch * * SpatialIntelligence); STDMETHOD(Activate)(VARIANT * Custom); STDMETHOD(Terminate)(VARIANT * Custom); .cpp: STDMETHODIMP CSiTestAddin::get_AddInProperties(_SIAddInProperties * * prop) { // TO DO: Add implementation code return NOERROR; } STDMETHODIMP CSiTestAddin::Initialise(IDispatch * * SpatialIntelligence) { // TO DO: Add implementation code return NOERROR; } STDMETHODIMP CSiTestAddin::Activate(VARIANT * Custom) { // TO DO: Add implementation code return NOERROR; } STDMETHODIMP CSiTestAddin::Terminate(VARIANT * Custom) { // TO DO: Add implementation code return NOERROR; } For an example of a final product, see the SI Version Navigator Add-in project. Enjoy!