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).
vb6 & vb.net function call:
result = testfunc(param1, param2, param3)
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
Post a Comment