Ok so i did it, maybe my question really wasnt correctly formulated, anyway tahnks to Kozlov and Cedric, the problem was creating the class and those string variables that are really different between languages, or at least thats how i get rid of it, heres how it all worked out:
int _stdcall Funcion(LPCSTR Param1, LPCSTR Param2, LPCSTR Param3, double * Param5);
br mode="hold" />int _stdcall Funcion(LPCSTR Param1, LPCSTR Param2, LPCSTR Param3, double * Param5)
const char * Param11= (const char *) Param1;
const char * Param21= (const char *) Param2;
const char * Param31 = (const char *) Param3;
int Param4 = 1000000;
int Test = Objeto.FuncionClase(Param11, Param21, Param31, Param4, Param5);
I decide to leave Param4 as a constant within the wrapper function since it itsn to signifficative.
And in the VB end:
Private Shared Function Funcion(ByVal Param1 As String, ByVal Param2 As String, ByVal Param3 As String, ByRef Param5 As Double) As Integer
Dim Param1 As String
Dim Param2 As String
Dim Param3 As String
Dim Param5() As Double
Dim Test as Double
Param3="Something Even Else"
Redim Param5(n) as Double 'n not a variable
Test=Funcion(Param1, Param2, Param3, Param5(0))
And that was it, again thanks a lot.