Donald
I also think that if you are expecting to have the string returned from the method call i.e.
lcString = oCOM.OneWord( "this is a test" )
you have to define it in the IDL as [out,retval]. The one sample I have here doesn't return a string. It returns a numeric value and the string is stuffed into an argument that is passed by reference using the @.
>Idl = [id(2), helpstring("method OneWord")] HRESULT OneWord([in] BSTR cParseStr, [out] BSTR* retval);
>
>.h = STDMETHOD(OneWord)(/*[in]*/ BSTR cParseStr, /*[out]*/ BSTR* retval);
>
>.CPP = STDMETHODIMP CStringin::OneWord(BSTR cParseStr, BSTR *retval)