visual c++ - Interoperability issue between VC++ (ocx) & VB.NET applications -


we migrating product vb6 vb.net , facing issue. product interacts function defined in vc++ component (.ocx).

  1. vb6 & vb.net function call:

    result = testfunc(param1, param2, param3)

  2. vc++: a) function definition in .cpp file: long testfunc(long far* param1, const variant far& param2, long param3) { ... }

disp_function(ctrl, "testfunc", testfunc, vt_i4, vts_pi4 vts_variant vts_i4)

b) function signature in .odl file: long testfunc(long* param1, variant param2, long param3);

c) function signature in .h(header) file: afx_msg long testfunc(long far* param1, const variant far& param2, long param3);

"param2" in above "testfunc" defined byte array in vb6 & vb.net.

in vc++, corresponding type "param2" in "testfunc" - "const variant far& param2".

in vb6, byte array values passed gets modified in vc++ "testfunc" & modified values received in vb6 "param2" variable.

issue in vb.net:

in vb.net, byte array values passed gets modified in vc++ "testfunc". however, modified values not transferred vc++ vb.net. "param2" variable still has original values & not modified values.

could please provide information on how obtain modified byte array values in vb.net variant variable in vc++ component?

thanks in advance.


Comments

Popular posts from this blog

sql - VB.NET Operand type clash: date is incompatible with int error -

SVG stroke-linecap doesn't work for circles in Firefox? -

python - TypeError: Scalar value for argument 'color' is not numeric in openCV -