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

Langage Delphi Discussion :

Traduction du C# ou C++ en Delphi


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 18
    Points : 11
    Points
    11
    Par défaut Traduction du C# ou C++ en Delphi
    Bonjour à tous,

    Je bute actuellement sur un problème. Ne connaissant que très peu le C# ou le C++. Je travaille à partir d'une DLL. J'ai deux petits exemples dans ces deux langages que je souhaiterai traduire en Delphi. Merci énormément.

    C# (Mes DLL)

    Code C# : 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
    28
    29
    using Sagem.MorphoKit; 
    using Sagem.MorphoKit.AcquisitionComponent;
     
    AcquisitionDevice clsDevice = new AcquisitionDevice(); 
    Matcher clsMatcher = new Matcher(); 
    IConsolidatedAcquisitionResult consoResult; 
    Converter objConvertTemplateFormats = new Converter(); 
    Candidate _person = new Candidate(i_cId, i_iScore); 
    clsDevice.FingerEvent += new FingerEventHandler(this._device_FingerEvent); 
    clsDevice.EnrolmentEvent += new EnrolmentEventHandler(this._device_EnrolmentEvent); 
    clsDevice.QualityEvent += new QualityEventHandler(this._device_QualityEvent); 
    clsDevice.ImageEvent += new ImageEventHandler(this._device_ImageEvent); 
    clsDevice.Display = this.pctAquire.Handle; 
     
    void _device_FingerEvent(int status) 
    { 
    } 
     
    void _device_EnrolmentEvent(int captureIndex) 
    { 
    } 
     
    void _device_QualityEvent(byte quality) 
    { 
    } 
     
    void _device_ImageEvent(byte[] buffer, int width, int height, int resolution) 
    {             
    }
    C++ (Mes DLL)
    Code C++ : 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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    using namespace Sagem::MorphoKit; 
    using namespace Sagem::MorphoKit::AcquisitionComponent; 
     
    // Declare Variables 
      static System::String^ _id = ""; 
      static int _score = 0; 
      AcquisitionDevice^ clsDevice; 
      Matcher^ clsMatcher; 
      IConsolidatedAcquisitionResult^ clsConsolResult; 
      Candidate^ clsPerson; 
      Sagem::MorphoKit::Converter^ clsConvertTemplates;
     
    // Initialise Variables 
    clsDevice = gcnew AcquisitionDevice(); 
    clsMatcher = gcnew Matcher(); 
    clsConvertTemplates = gcnew Sagem::MorphoKit::Converter(); 
    clsPerson = gcnew Candidate(_id, _score); 
     
    //Create Event Handlers 
    clsDevice->FingerEvent += gcnew FingerEventHandler(this, &Form1::device_FingerEvent); 
    clsDevice->EnrolmentEvent += gcnew EnrolmentEventHandler(this, 
    &Form1::device_EnrolmentEvent); 
    clsDevice->QualityEvent += gcnew QualityEventHandler(this, &Form1::device_QualityEvent); 
    clsDevice->ImageEvent += gcnew ImageEventHandler(this, &Form1::device_ImageEvent); 
     
    //Image Handle 
    clsDevice->Display = this->imgDisplay->Handle; 
    private: void device_FingerEvent(int status) 
    { 
    } 
     
    private: void device_EnrolmentEvent(int captureIndex) 
    { 
    } 
     
    private: void device_QualityEvent(unsigned char quality) 
    {            
    } 
     
    private: void device_ImageEvent(array<unsigned char,1>^ buffer, int width, int height, int
    resolution) 
    { 
    }

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Déjà gcnew c'est mal barré, cela semble être du code managé !
    Est une DLL ?
    Une DLL avec des fonctions publiées en stdcall ? (très peu probable au vu du code)
    Une DLL qui est un objet COM avec une série d'interface disponible dans une TLB ? (on peut espérer que la DLL contient une Interopérabilité COM si c'est une Assembly)
    Une DLL qui est une Assembly.NET ? (C'est mort, il faut faire une Wrapper en C# qui expose ce dont tu as besoin sur la forme d'un objet COM)

    Vérifie si tu as d'autres DLL non .NET mais plutôt COM ou WINAPI
    Malheureusement, de plus en plus de grand groupe comme SAGEM, ne font plus que la version .NET et parfois la version Java parce que c'est plus simple à coder (aussi bien l'appel que le code interne) que de faire un COM ou une DLL linkée où la gestion de la mémoire est une vrai difficulté
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Traduction des Union C/C++ vers Delphi (usage DLL)
    Par Crafton dans le forum Langage
    Réponses: 6
    Dernier message: 22/02/2006, 08h56
  2. Traduction C++ vers Delphi
    Par lil_jam63 dans le forum Langage
    Réponses: 6
    Dernier message: 05/07/2004, 13h10
  3. probleme traduction C vers Delphi
    Par zinaif dans le forum Langage
    Réponses: 3
    Dernier message: 27/06/2003, 08h51
  4. TRaduction C++ => Delphi VOID ??
    Par escafr dans le forum Langage
    Réponses: 6
    Dernier message: 20/02/2003, 10h39
  5. traduction en delphi "reinterpreted cast"
    Par Chupakabra dans le forum Langage
    Réponses: 3
    Dernier message: 13/02/2003, 15h49

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