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

Dotnet Discussion :

Problème Utilisation DLL


Sujet :

Dotnet

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2013
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 156
    Points : 218
    Points
    218
    Par défaut Problème Utilisation DLL
    Bonjour à tous !

    Dans le cadre d'un projet, je doit créer un logiciel capable de flasher 2 microcontrôleur distinct (PIC et CPU).
    Pour celui-ci j'ai une dll en VB6, malheureusement elle n'est pas importable dans visual studio.
    Je suis tombé sur un développement kit pour mon model de microcontrôleur en cpp .
    Ce kit comprend :
    - Un fichier Flasher.lib -> Code illisible

    -// Flasher.exp -> Code illisible

    - // DLL_interface.bas
    Extrait du code DLL_interface
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Explicit
    'dll function declarations
    Declare Function SetCom Lib "st10flasher.dll" (ByVal PortName$, ByVal comspeed As Long) As Long
    Declare Function LoadFile Lib "st10flasher.dll" (ByVal FileName$, ByRef Fsize As Long) As Long
    Declare Function InitMonitor Lib "st10flasher.dll" (ByVal device As Any) As Long
    Declare Function ProgramFlash Lib "st10flasher.dll" () As Long
    Declare Function GetError Lib "st10flasher.dll" (ByVal BufferForStatus As Any) As Long
    Declare Function EraseFlash Lib "st10flasher.dll" (ByVal Block As Long) As Long
    Declare Function CloseCom Lib "st10flasher.dll" () As Long
    Declare Function BlockNbToErase Lib "st10flasher.dll" (ByVal EraseBlockError As Boolean) As Long
    Declare Function AutoROMS1 Lib "st10flasher.dll" (ByRef RomS1Set As Boolean) As Long
    Declare Function SetROMS1 Lib "st10flasher.dll" (ByVal ROMS1 As Boolean) As Boolean

    - // basicinterface.h

    Extrait du code de BasicInterface.h

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    #ifndef _BASIC_INTERFACE_H
    	#define _BASIC_INTERFACE_H
     
    #ifdef __cplusplus
    	extern "C" 
    	{
    #endif
     
    #ifndef ST10FLASHER_API
    	#define ST10FLASHER_API __declspec(dllimport) // To import flasher function
    #endif
     
    // Communication function
    ST10FLASHER_API unsigned int PASCAL SetCom(char *PortName, unsigned int ComSpeed);
    ST10FLASHER_API unsigned int PASCAL CloseCom(void);
    ST10FLASHER_API unsigned int PASCAL ComIsKline(void);
    ST10FLASHER_API unsigned int PASCAL SetComSpeed(char *portName, unsigned int ComSpeed);
    ST10FLASHER_API unsigned int PASCAL CalibrateSpeed(char *PortName, unsigned int ComSpeed);
    ST10FLASHER_API unsigned int PASCAL IsAvailableBaudRate(const double frequency,const unsigned int baudrate);
     
    // Global functions
    ST10FLASHER_API unsigned int PASCAL LoadFile(char *filename,unsigned long &size);
    ST10FLASHER_API unsigned int PASCAL InitMonitor(char *target);
    ST10FLASHER_API unsigned int PASCAL LoadExternalFlashMonitor(char *Monitor, char *target);
    ST10FLASHER_API unsigned int PASCAL GetError(char *BufferForStatus);
    ST10FLASHER_API unsigned int PASCAL EnablePort(unsigned short PortNb, unsigned short BitPosition,bool Val);
    ST10FLASHER_API unsigned int PASCAL DisablePort(unsigned short PortNb, unsigned short BitPosition);
    les deux extrait de code semblent avoir une fonction identique.

    Je ne sais pas du tout comment m'aider de ce code afin de pouvoir utilisé cette DLL. Si quelqu'un a une idée je suis preneur ! Merci d'avance !

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2013
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 156
    Points : 218
    Points
    218
    Par défaut
    Solution :

    Copier la dll a coté de du .exe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      [DllImport(@"st10flasher.dll")]
      public static extern long SetCom(string portName, long comspeed);

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

Discussions similaires

  1. Problème utilisation dll
    Par Schnapz dans le forum C++
    Réponses: 12
    Dernier message: 23/11/2010, 14h27
  2. Problème utilisation DLL Inpout32
    Par stephantasy dans le forum Général VBA
    Réponses: 7
    Dernier message: 23/03/2010, 18h27
  3. Problème utilisation DLL VC++
    Par lio33 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 29/06/2007, 13h57
  4. problème utilisation dll
    Par od.dev dans le forum Delphi
    Réponses: 13
    Dernier message: 09/01/2007, 13h51
  5. Problème utilisation DLL
    Par Tub-95 dans le forum MFC
    Réponses: 4
    Dernier message: 02/11/2005, 12h00

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