Bonjour,

Voici mon problème:
Sur mon interface VB, je demande à l'utilisateur de sélectionner un fichier sur son PC, j'obtiens donc le chemin absolu du fichier que je stocke dans une variable de type String.
Dans ce même programme en VB, j'utilise une DLL écrite en C. Dans ma DLL, j'ai une fonction qui prend en paramètre un tableau de caractère destiné à accueillir le String obtenu en VB pour pouvoir faire un fopen() du fichier sélectionné.
Travaillant sous windows, j'ai bien noté que le chemin devait être de la forme "C:\\..." et non "C:\..." j'ai donc bien transformé le String en VB grâce à un simple Replace().

Cependant, le résultat de ma fonction n'est pas bon. Je suppose qu'il s'agit d'un problème de compatibilité entre ma chaine de caractères et le type String.

Pouvez-vous m'aider?

Merci beaucoup.

en C:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
double __stdcall frequency(char fichierATester[]) 
{
    FILE *fichier = NULL;
    fichier = fopen(fichierATester, "rb");
    ...
en VB:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
        With OpenFileDialog1
            'On spécifie l'extension de fichiers visibles
            .Filter = "Fichiers binaires (*.bin) | *.bin"
            'On affiche et teste le retour du dialogue
            If .ShowDialog = Windows.Forms.DialogResult.OK Then
                fichierATester = .FileName
                fichierATester = fichierATester.Replace("\", "\\")
            End If
        End With
.
.
.
frequency(n, fichierATester)