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 :

Création de dll en visual basic 2005 Express


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Création de dll en visual basic 2005 Express
    Bonjour,

    Je souhaiterais savoir s'il est possible de créer des dll sous visual basic 2005 express. J'arrive à utiliser les dll venant d'autres applications mais je n'arrive pas à en créer sous vb 2005.

    Avez-vous des pistes ?


    Merci d'avance

    CodeBleu

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 109
    Points : 81
    Points
    81
    Par défaut
    Salut,

    Je sais que c'est possible sous Vs 2005, je sais pas par contre pour la version express, mais il y a de fortes chances pour que ça fonctionne.

    Pour faire un dll, il faut par exemple faire un projet de type "Class Library" et le compilateur fait un .dll au lieu d'un .exe!

    Voilà!

    a+

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour cette réponse, et tu as raison j'ai réussi à créer un fichier dll.

    Pourrais-tu m'aider un peu plus, car j'ai un souci lors de le débogage de ma solution.
    En fait, quand j'appelle la sub "SendParamRef" de la dll j'ai le message suivant :"Impossible de trouver le point d'entrée 'SendParamRef' dans la DLL 'RefrigData'.".

    Voici, les paramètres que j'appelle ;

    Public Declare Sub SendParamRef Lib "RefrigData" (ByVal Refrigerant As String, ByVal RefState As Double, ByVal Temperature As Double, _
    ByVal SubCooling As Double, ByVal Superheat As Double, ByRef CyclePoints() As Double, ByRef ErrorMessage As Boolean)

    Etant bien entendu que je passe en ByVal des entrées et j'ai des sortie avec ByRef dans ce cas.

    Voilà si tu as quelques éclaircissement à me donner, j'en serais ravi !

    CodeBleu

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 109
    Points : 81
    Points
    81
    Par défaut
    Salut,

    Je ne comprends pas trop ce que tu fais.

    Moi pour joindre une dll je fais click droit sur la solution -> ajouter une référence)

    Ensuite comme ma librairie comprend une classe, je l'instancie et appel une méthode.

    Ex :
    Pour avoir accès à ma librairie, j'ai ajouter une référence comme expliquée ci-haut
    Dim test as new librarie.test()
    test.testerletest()

    Aussi, pour tester ta librairie je te conseille d'utiliser 2 solutions distinces. 1 pour la librairie. 1 pour les tests.

    Parce que l'erreur : Impossible de trouver le point d'entrée...
    signifie que vs 2005 ne trouve pas dans quel méthode ton programme démarre. Si tu cliques sur les propriétés de ton projet - > startupobject ... tu ne peux en définir avec une libraire d'où l'idée d'utiliser un autre projet pour tester!

    a+

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Pour te préciser un peu le fonctionnement de mon programme son architecture de base est la suivante;

    Le projet "OilSeparator" type (Consoleapplication) .exe appelle une dll "RefrigData" (classlibrary).

    Le projet de démarrage est "OilSeparator", et j'ai regardé dans les propriétés et il est bien défini comme tel.

    Je pense qu'il y a peut-être un problème du côté des paramètres qui sont définis pour certains en ByVal et d'autres en ByRef.

    En fait, j'ai besoin de plusieurs informations de retour de la dll.
    Et ces informations sont entre les parenthèses en ByRef.

    Concernant ce que tu m'as expliqué sur l'instanciation pourrais-tu me donner un exemple plus précis pour que je comprennes bien ce que tu veux dire.

    Merci encore pour ton aide,

    CodeBleu

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 109
    Points : 81
    Points
    81
    Par défaut
    Salut,

    En fait, tu sembles dire que le problème viendrais peut-être du fait des byval, byref, tu as esseyé de mettre tout par byval pour voir si l'erreur était la même ?

    Ensuite, lorsque tu fais :

    Public Declare Sub SendParamRef Lib "RefrigData" (ByVal Refrigerant As String, ByVal RefState As Double, ByVal Temperature As Double, _
    ByVal SubCooling As Double, ByVal Superheat As Double, ByRef CyclePoints() As Double, ByRef ErrorMessage As Boolean)

    J'ai l'impression que c'est comme si tu utilisais une mentalité de Vb6 et non de Vb.Net, mais peut-être je me trompe....

    1. Si j'ai bien compris, tu dois déclaré ce que j'ai mis ci-haut pour pouvoir utiliser la méthode dans ton code ?

    2. Tu as bien référencé ta dll comme je l'ai expliqué ?

    a+

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Kiboumz,

    Merci pour tes réponses j'ai effectivement réussi à faire fonctionner mon programme tel que tu me l'avais conseillé. Le passage de paramètres est correct, c'était juste l'instanciation qui était mal faite.

    Merci encore pour tes précieux conseils,

    CodeBleu

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

Discussions similaires

  1. manuel visual basic 2005 express edition
    Par young077 dans le forum VB.NET
    Réponses: 2
    Dernier message: 20/01/2007, 19h26
  2. MySql et visual basic 2005 express
    Par fabrice.77 dans le forum Débuter
    Réponses: 3
    Dernier message: 19/12/2006, 15h52
  3. [ADO.NET] MySql et visual basic 2005 express
    Par fabrice.77 dans le forum Accès aux données
    Réponses: 3
    Dernier message: 17/12/2006, 18h25
  4. DLL avec Visual C++ 2005 Express
    Par Jloox dans le forum MFC
    Réponses: 5
    Dernier message: 09/03/2006, 18h24
  5. Visual Basic 6 Professional VS Visual Basic 2005 Express
    Par Jihnn dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 25/02/2006, 23h33

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