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 :

Problème pour importer un DLL écrite en C


Sujet :

VB.NET

  1. #1
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut Problème pour importer un DLL écrite en C
    Bonjour bonjour,

    Voila, j'ai récupérer du code écrits en C-Ainsi et C++... J'aurai besoin de transformer ce projet en DLL et l'intégrer dans du VB.

    Après maintes recherches, j'arrive à créer cette DLL, j'arrive à l'ajouter en référence à mon projet VB, mais après, impossible de l'utiliser.

    Il n'est même pas possible de faire un Import avec.

    J'ai lu qu'il était compliquer de faire un DLL avec du C...

    Je m'en remets à vous pour savoir si vous avez des pistes.

  2. #2
    Membre éclairé Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Points : 813
    Points
    813
    Par défaut
    Bonjour,

    En sachant qu'il existe des traducteurs de C à VB ne pourrais-tu pas "traduire" cette dll en VB et donc utliser cette nouvelle dll ?

    Car en effet, utiliser une dll en C dans un projet en VB je doute que cela fonctionne correctement.

  3. #3
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Et bien si c'était du C# ou pure C++, ça aurait pu aller...

    Mais le projet à été créer en C-Ainsi puis des classes de C++ on été ajouté.

    Et non, pour l'instant la traduction ne fais pas partis de mes plans...

    C'est un programme qui a été créer en 1 an par un ancien employé, donc la quantité de code est trop importante.
    Sans compté que traduire du C-AINSI en VB.NET, j'aurai tendance a beaucoup me méfier de la traduction.

  4. #4
    Membre éclairé Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Points : 813
    Points
    813
    Par défaut
    Je dois avouer que je ne visualise pas trop le C-AINSI (même jamais entendu parlé), pour moi seul le C#, C++, C++1x et C++builder sont dans mes connaissances, et comme tu as pu le stipuler au-dessus, une dll en C c'est pas du grand art (selon mon humble connaissance) ce qui confirme ce que tu as pu lire.

  5. #5
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    De toute manière, la seule chose que peut exporter une DLL C ou C++ non managé, c'est des fonctions. Les classes C++ non managées ne sont pas accessibles directement via .Net

    Donc, en supposant que tu veuillent juste utiliser les fonctions exportées par ta DLL, quelle difficulté rencontres-tu ?

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par methylene Voir le message
    Car en effet, utiliser une dll en C dans un projet en VB je doute que cela fonctionne correctement.
    Et pourquoi pas ????

  7. #7
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Citation Envoyé par methylene Voir le message
    Je dois avouer que je ne visualise pas trop le C-AINSI (même jamais entendu parlé), pour moi seul le C#, C++, C++1x et C++builder sont dans mes connaissances, et comme tu as pu le stipuler au-dessus, une dll en C c'est pas du grand art (selon mon humble connaissance) ce qui confirme ce que tu as pu lire.
    Alors, pour ton humble connaissance, sache que le C-AINSI est en réalité le vrai nom de ce qu'on appelle du C.

    Langage qui n'est pas orienté objet a la différence du C++.

    ANSI-C

    Le succès des années qui suivaient et le développement de compilateurs C par d'autres maisons ont rendu nécessaire la définition d'un standard actualisé et plus précis. En 1983, le 'American National Standards Institute' (ANSI) chargeait une commission de mettre au point 'une définition explicite et indépendante de la machine pour le langage C', qui devrait quand même conserver l'esprit du langage. Le résultat était le standard ANSI-C. La seconde édition du livre 'The C Programming Language', parue en 1988, respecte tout à fait le standard ANSI-C et elle est devenue par la suite, la 'bible' des programmeurs en C.

  8. #8
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    De toute manière, la seule chose que peut exporter une DLL C ou C++ non managé, c'est des fonctions. Les classes C++ non managées ne sont pas accessibles directement via .Net

    Donc, en supposant que tu veuillent juste utiliser les fonctions exportées par ta DLL, quelle difficulté rencontres-tu ?
    Mon problème est que les fonctions que je souhaite utiliser sont contenu dans des classes...

    S'il n'y avait que des fonctions, ça irait mieux je pense.

    Donc ce que tu veux dire... c'est que ce n'est pas possible?

  9. #9
    Membre éclairé Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Points : 813
    Points
    813
    Par défaut
    Merci pour le cours d'histoire, je dormirais un peu moins bête ce soir.

  10. #10
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par mactwist69 Voir le message
    Mon problème est que les fonctions que je souhaite utiliser sont contenu dans des classes...
    Donc, ce sont des méthodes de classes C++ pas des fonctions.
    Ce n'est pas exportable. (sauf erreur de ma part).

    Donc ce que tu veux dire... c'est que ce n'est pas possible?
    Tout à fait. (toujours sauf errreur de ma part).

    A mon avis, ce qui te réclamerait le moins de travail serait de transformer ta DLL en C/C++ en une assembly C++ managée, et là tu auras des classes .Net parfaitement exploitables.

  11. #11
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Je vais explorer ces pistes.

    Soit de créer un projet qui ne contient que les fonctions (en espérant qu'elles puissent s'appeler entre elles).

    Soit de transformer en Assembleur.

    Merci bien.

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 291
    Points : 390
    Points
    390

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

Discussions similaires

  1. Problème pour importer une dll dans un projet
    Par Kayl86 dans le forum VB.NET
    Réponses: 6
    Dernier message: 12/04/2010, 15h10
  2. Problème pour inscrire une dll
    Par aloisio11 dans le forum Windows
    Réponses: 0
    Dernier message: 22/04/2008, 09h30
  3. problème pour importer fichier texte
    Par louffa dans le forum Outils
    Réponses: 2
    Dernier message: 30/01/2008, 14h31
  4. Réponses: 2
    Dernier message: 26/01/2007, 14h58
  5. problème pour importer données excel dans Access
    Par sarah67 dans le forum Access
    Réponses: 8
    Dernier message: 20/02/2006, 08h17

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