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 :

TypeDef en Visual Basic


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut TypeDef en Visual Basic
    Bonjours,

    Je recherche une solution pour simuler le typedef du C/C++ pour pouvoir utiliser les API Windows dans un Projet.

    J'ai pensé a 2 solutions dont l'une est intéressante mais ne permet pas d'importer un type de données à l'intérieur d'un Namespace.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Namespace N1
    '....
    Imports HWND = System.IntPtr
    Imports HINSTANCE = System.IntPtr
    Imports HDC = System.IntPtr
    '....
    End Namespace
    Ne marche pas car les imports ne peuvent se faire que en dehors de tout conteneur à l'exception de l'espace de nom racine (Root Namespace), mais de toute façon, même là, l'alias de nom est importer en dehors de tout namespace y compris non accessible depuis le mot-clé Global.

    Une 2ème solution serait d'utiliser une structure mais là, il fait redéfinir les opérateur et surtout ce qui me gène, c'est la perte de performance qui atteint 5X entre un type de donnée du .NET et un type personnalisé avec une structure.

    Quels sont les autres possibilités ?

    Merci.

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Je ne sais pas si cela répond à la question; mais tu peux toujours, jeter un œil sur ces exemples:

    http://code.msdn.microsoft.com/VBCOMClient-1873579a

    http://code.msdn.microsoft.com/VBPInvokeDll-e220099a

    http://code.msdn.microsoft.com/Calli...tions-56a52854

    http://code.msdn.microsoft.com/VBCal...apper-98cbcb7b

    http://code.msdn.microsoft.com/VBLoadLibrary-63f4b6de

    http://code.msdn.microsoft.com/API-Call-Sample-0c859697

    ----------------------------------

    Et, pour tous ceux que cela pourrait intéresser, un outil pour chercher des exemples dans la banque d'exemples de Microsoft:

    http://1code.codeplex.com/

    Et la page de recherche d'exemples chez Microsoft:

    http://code.msdn.microsoft.com/vstudio

  3. #3
    Invité
    Invité(e)
    Par défaut
    Salut clementmarcotte,

    Merci pour cette réponse, mais vois-tu ce que je veux dire lorsque je dis que je veux simuler le typedef du C/C++ ?

  4. #4
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    @Clement :

    http://c.developpez.com/cours/bernar...ne/node116.php

    @Nouveau2 :

    Tu as éveillés ma curiosité........

  5. #5
    Invité
    Invité(e)
    Par défaut
    TypeDef permet de définir ce que l'on peut appeler des alias de type de données.

    Il y a une longue liste ici:
    Windows Data Types - Microsoft

    Cependant, OpenCl, OpenGl et beaucoup d'API utilisent des alias de type. Il n'y a pas que sur Windows. Les performances n'en pâtissent pas comme si on écrivez:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Imports HWND = System.IntPtr
    puis que l'on utilisait l'alias de type HWND en lieu et place du System.IntPtr.

  6. #6
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par Nouveau2 Voir le message
    Salut clementmarcotte,

    Merci pour cette réponse, mais vois-tu ce que je veux dire lorsque je dis que je veux simuler le typedef du C/C++ ?
    Non. Je ne connais rien au C et à ses dérivés. Sauf peut-être au C# (à force d'en voir) et encore.

    Mais, j'ai bien commencé ma réponse par "Je ne sais pas"

    P.S. Je ne veux pas faire de pomélique, mais, je me demande si on peut vraiment faire une transposition directe du C vers VB...

Discussions similaires

  1. Réponses: 31
    Dernier message: 22/04/2014, 14h55
  2. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 20h09
  3. VB.NET vs C# vs Java ou existe-t-il une vie après Visual Basic 6 ?
    Par B-Pascal dans le forum Débats sur le développement - Le Best Of
    Réponses: 32
    Dernier message: 05/07/2007, 12h46
  4. Visual basic version Open Source !!
    Par Ruddy16 dans le forum Langages de programmation
    Réponses: 15
    Dernier message: 31/03/2004, 19h15
  5. []débogage sur une requête dasn visual basic
    Par mcay dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 24/09/2003, 09h59

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