> 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.