I could be much more precise - here is a simplified example of what we are
doing

We have an interface class, called iBSWrapper in the itsBSInterfaces DLL.
For simplicity sake, we'll say that the only method on iBSWrapper is
Pubic Function GetData() AS ADODB.RecordSet
End Function

itsBSInterfaces DLL is registered on the client machine and on the MTS
Server (outside of MTS)

We then have a VB Component running under MTS that IMPLEMENTS
itsBSInterfaces.iBSWrapper as has code the return a recordset in the
GetData method.

We have DLL's registered on the client machine like this (m_strAppServer is
passed in to the DLL from the EXE. m_strAppServer contains the name of the
MTS server:

Private m_iBSWrapper As itsBSInterfaces.IBSWrapper

Private Sub CreateMTSWrapper()

On Error GoTo ERROR_LABEL
Const strWRAPPER As String = "itsBSCountry.CBSCountryWrapper"

If Not m_iBSWrapper Is Nothing Then Exit Sub

If Len(Trim(m_strAppServer)) = 0 Then
' for development against local DLLs
Set m_iBSWrapper = CreateObject(strWRAPPER)
Else
' run under MTS
Set m_iBSWrapper = CreateObject(strWRAPPER, m_strAppServer)
End If
Exit Sub

ERROR_LABEL:
If Err.Source <> App.EXEName Then
'source was deliberately set by this proc or a proc called here, so
pass it back as-is
Err.Raise Err.Number, Err.Source, Err.Description
Else
'vb just raised this error here
Err.Raise Err.Number, TypeName(Me), Err.Description
End If

End Sub

I did not register any of the DLL's or typelib's for the DLL's running
under MTS on the client machine.

The Set m_iBSWrapper = CreateObject(strWRAPPER, m_strAppServer) is what is
failing with the "class ..." error message.



--
--
Thanks,
David Satz
Principal Software Engineer
Hyperion Solutions
(using VB6 SP3/MTS/SQL Server 6.5 SP5a./MDAC 2.1.2.4202.3)
(Please respond to the newsgroup.)


DaveSatz <davidsatz@yahoo.com> wrote in message
news:39109cb6@news.devx.com...
> I get this error when I try to use Set objectvariable =
> CreateObject("progID", ["servername"]), including the ServerName.

(Almost)
> All of our MTS components are designed using a custom interface using the
> IMPLEMENTS keyword. The DLL's that gets this error have a reference to

the
> Interface DLL, but not actual MTS components. They are looking for a

pointer
> to our custom interface on the MTS Component only. The client side DLL's
> never reference a property or method on the MTS components other than the
> interface. This allows you to compile the application without the MTS

DLL's
> registered on your machine. I also expected it to allow me to run the
> application without the MTS DLL's registered on the client machine. I am
> correct ?
>
> --
> --
> Thanks,
> David Satz
> Principal Software Engineer
> Hyperion Solutions
> (using VB6 SP3/MTS/SQL Server 6.5 SP5a./MDAC 2.1.2.4202.3)
> (Please respond to the newsgroup.)
>
>
>
>
>
>