It is useful to follow these guidelines when you develop COM components that need to talk to VB.
1. Only use VARIANT data types in your interface . Although VB canhandle more complex data types, using just VARIANT lets the components be used by less sophisticated automation clients like vbscrip, jscript.
2. You can have as many [in] parameters as you want but only one out parameter defined as [out,retval]. [out] and [in,out] are somewhat problematic and prone to client leaks unless you