Bonjour,
J'ai créé une dll en c++/MFC que j'importe dans un projet vb.net. Dedans ce trouve une fonction qui nécessite un char en argument. Malheureusment, quand je l'appelle depuis vb, elle ne reçoit que le premier caractère de cette chaine.
Je suppose donc que le problème vient d'une différence de type entre vb et C++, j'ai aussi essayé avec tout des string, mais c'est pire.
Donc, ou est l'erreur? Quel type de variable est-il préférable d'utiliser?...
voici le début de mon code MFC
La manière dont je l'appelle en vb
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
J'obtiens la même chose en faisant
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5<Runtime.InteropServices.DllImport("COMProt.dll", _ CharSet:=CharSet.Auto)> Public Shared Function _ fChangeChaine(ByVal cChaine As Char) As Integer End Function
Et je fais appelle à la fonction comme ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3Private Declare Function fChangeChaine Lib "COMProt.dll" _ (ByVal cChaine As Char) As Integer
Mais ma dll ne reçoit que "L"
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6Private Sub BLaUne_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles BLaUne.Click Dim chaine As Char = "LaUne" fChangeChaine(chaine) End Sub
D'avance merci

 

 
		
		 
        

 
			
			

 
   


 Problème de char en argument d'une fonction dans une dll
 Problème de char en argument d'une fonction dans une dll
				 Répondre avec citation
  Répondre avec citation
Partager