IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

compatibilité d'un String avec DLL en C


Sujet :

VB.NET

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 40
    Par défaut compatibilité d'un String avec DLL en C
    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)

  2. #2
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 40
    Par défaut
    Finalement, pas de souci. Mes résultats étaient faux car à l'appel de ma DLL mes variables ne s'initialisaient pas correctement.

    Donc pas de souci de compatibilité entre String et tableau de char, je n'ai rien touché de ce côté là

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    Citation Envoyé par douze_12 Voir le message
    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().
    ce n'est pas une question de windows
    en vb.net un seul \ suffit, en C# ils en mettent 2, donc si tu as besoin de ca, ca doit venir du C et non de vb.net
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 20/06/2005, 14h13
  2. Réponses: 4
    Dernier message: 06/05/2005, 13h37
  3. [CR] Probleme avec Dll P2oledb.dll
    Par malban dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 30/08/2004, 09h10
  4. Réponses: 2
    Dernier message: 29/03/2004, 13h44
  5. string avec Dev-C++ 4
    Par Shadow Blade dans le forum Dev-C++
    Réponses: 15
    Dernier message: 20/03/2003, 18h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo