Bonjour à tous,
je fais actuellement la migration d'un programme VB6 / C++ en Vb.net / C++ CLR.
Lorsque j'appelle la fonction C++ à partir d'une forme .Net, le paramètre est correctement passé à la méthode en C++, puis modifié mais, en sortie de fonction, dans le code VB.Net, la valeur de la variable modifiée par la méthode C++ n'a pas changé.
J'aimerai récupérer la valeur modifiée par la méthode C++ dans VB.Net. Je ne comprend pas ce qui cloche dans ce code, j'ai cherché des infos pour pouvoir faire ce passage / récupération de paramètre sur le net mais rien de ce que j'ai trouvé n'a marché.
Merci pour votre aide.
Le code managed C++ :
namespace CommunVideo {
public ref class clsWCVD601_DllGrapheDirectShow
{
public :
void CommunVideo::clsWCVD601_DllGrapheDirectShow::cppWCVD601_ExporterFichiers(System::Int32^ test)
{
test = 10;
}
};
}
Le code Vb.net, une forme de base :
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim i As New CommunVideo.clsWCVD601_DllGrapheDirectShow
Dim iCr As IntPtr = CType(20, IntPtr)
i.cppWCVD601_ExporterFichiers(iCr)
End Sub
End Class