Appel d'une méthode managée C++ avec Vb.Net : paramétres non modifié en sortie d
cs_arc59
Messages postés32Date d'inscriptionmardi 15 janvier 2002StatutMembreDernière intervention24 mars 2011
-
7 janv. 2009 à 14:31
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 2018
-
7 janv. 2009 à 18:57
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é.
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
A voir également:
Appel d'une méthode managée C++ avec Vb.Net : paramétres non modifié en sortie d
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 7 janv. 2009 à 18:57
Bonjour,
Tu dois passer ta valeur test par référence de cette manière.
void CommunVideo::clsWCVD601_DllGrapheDirectShow::cppWCVD601_ExporterFichiers(System::Int32^% test)
{
test = 10;
}