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 :

[VB.NET] Comment gérer une DLL Delphi ?


Sujet :

VB.NET

  1. #1
    Membre éclairé Avatar de slimjoe
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 647
    Points : 789
    Points
    789
    Par défaut [VB.NET] Comment gérer une DLL Delphi ?
    Bonjour,

    J'ai créé une DLL à l'aide de Delphi 7 et je tente d'accéder à une de ses méthode via VB.NET.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Public Declare Sub MaProcedure Lib "MaDLL.dll" Alias "MaProcedure" (ByVal i As Int32)
     
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
       MaProcedure(12)
    End Sub
    La méthode est très simple: elle attend un entier et l'affiche dans un message.

    Lorsque je j'exécute la méthode via un projet Delphi, tout fonctionne correctement. Lorsque j'éxécute via VB.NET, je n'ai pas d'erreur, mais l'entier passé en paramêtre n'est pas celui qui est affiché.

    Est-ce que les types de données Int32 sont vraiment les équivalents Delphi de "integer" lorsque passé en paramêtres ?

    J'ai déjà posé une question semblable sur le forum Delphi si vous voulez jeter un oeil au code de la DLL : http://www.developpez.net/forums/vie...500586#2500586

    Merci!

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    C'est probablement un pb de convention d'appel de fonction :
    Delphi utilise par défaut pascal alors que VB attend stdcall.
    Modifie la déclaration dans la DLL.

  3. #3
    Membre éclairé Avatar de slimjoe
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 647
    Points : 789
    Points
    789
    Par défaut
    C'est exactement ça!

    Tout fonctionne parfaitement! Merci!!

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/09/2006, 11h23
  2. [VB.Net] Comment utiliser une dll faite en VB6 ?
    Par hassanovich dans le forum VB.NET
    Réponses: 1
    Dernier message: 06/06/2006, 13h25
  3. [VS.NET]Comment générer une dll de page ?
    Par fnganiet dans le forum Visual Studio
    Réponses: 4
    Dernier message: 19/05/2006, 14h28
  4. Réponses: 3
    Dernier message: 21/10/2005, 09h54
  5. Réponses: 5
    Dernier message: 13/10/2005, 10h49

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