> Now, I initially assumed it was that I hadn't generated a type library
and
> "early bound" my Object variables to the appropriate types. So I
exported
> the typelib, no more CreateObject, etc, and it's still slow (no
visible
> improvement).

Because .NET classes only expose their members via IDispatch by default,
this step alone shouldn't cause visible improvement.  But, if you:

a) Define a .NET interface for your interop class to implement
b) Mark your interop class with
[ClassInterface(ClassInterfaceType.None)] to make the implemented
interface the default one
c) Export a type library and make use of it from VB6

then you should see much better performance.  Defining your own "real
interface" is much better than using ClassInterfaceType.AutoDual, and
you'll only break your VB6 clients if you make changes to that
interface.

Hope that helps,
Adam

You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to