this is the Signature of the method in VB 6.0 : Public Function b_GenerarTck(ByVal cAgencia As String, _ ByVal cSector As String, _ ByVal cTicketera As String, _ ByVal cTTckBase As String, _ ByRef OUT_cTicket As Variant, _ ByRef OUT_dTicket As Variant, _ ByRef OUT_fGenerado As Variant, _ ByRef OUT_hGenerada As Variant, _ ByRef OUT_nEsperaMinima As Variant, _ ByRef OUT_dTTicket As Variant, _ ByRef OUT_dTVentanilla As Variant, _ Optional ByVal nNumCliente As Variant, _ Optional ByVal dNomCliente As Variant) As Long The following code is the solution for a method with 1 parameter .... but doesn´t work with several parameters -------------------------------------------------------------------- using MyMFCLibrary; using System.Reflection; public class MyClass { MyMFCAutomationServer objTest = new MyMFCAutomationServerDoc(); object [] arglist = { "Hello World!" }; ParameterModifier pm = new ParameterModifier(1); //Set the VT_BYREF flag on the first parameter. p[0] = true; //Create an array of ParameterModifier objects, and then put in your element. ParameterModifier [] pmArray = { pm }; //Use late binding and call the method. objTest.GetType().InvokeMember("VariantByRef", BindingFlags.InvokeMethod, null, objTest, arglist, pmArray, null, null); } ------------------ Please helpme guys =)