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 :

overload en Delphi


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 21
    Points : 17
    Points
    17
    Par défaut overload en Delphi
    bnjour,

    jai un programme en delphi qui comporte cette instruction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    function   PtrToStringAnsi(ptr:IntPtr; len:integer):string;
    le message d'erreur qui apparait est le suivant:
    [DCC Erreur] Marshal.pas(185): E2254 La procédure surchargée 'PtrToStringAnsi' doit être marquée avec la directive 'overload'
    alors si j'ajout la directive overload comme ci dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    function   PtrToStringAnsi(ptr:IntPtr; len:integer):string; overload;
    le message d'erreur reste le meme:
    [DCC Erreur] Marshal.pas(185): E2267 La déclaration précédente de 'PtrToStringAnsi' n'a pas été marquée de la directive 'overload'
    Est-ce que vous pouvez m'aidez.

  2. #2
    Membre régulier Avatar de Dirk-Pitt
    Inscrit en
    Juillet 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Juillet 2007
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    Bonjour,

    Il faut que l'autre PtrToStringAnsi soit également marquée overload.

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 534
    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 534
    Points : 25 082
    Points
    25 082
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function PtrToStringAnsi(ptr:IntPtr; len:integer):string;
    Trés étrange, à quoi cela peut servir ? il existe pour cela LStrFromPCharLen ... et encore il doit y a voir plus simple ... dans System.pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SetString(var s: string; buffer: PChar; len: Integer);
    Mais sinon, il faut mettre overload au DEUX déclarations et pour le moment, je n'en vois qu'une ! Car en plus il faut bien sur deux prototypes différents, ...
    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

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 21
    Points : 17
    Points
    17
    Par défaut exemple d'overload
    Pourrez vous me donner un exemple

  5. #5
    Membre régulier Avatar de Dirk-Pitt
    Inscrit en
    Juillet 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Juillet 2007
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    Voilà un exemple pour overload:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    procedure TestIt( iValue: integer ); overload;
    procedure TestIt( iValue: double ); overload;
    F1 peut être utile

  6. #6
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    Citation Envoyé par manel77
    Pourrez vous me donner un exemple
    non

    en fait le premier message d'erreur indique que la fonction a été déclarée deux fois avec des paramètres différents (par erreur ?) et qu'il faut donc ajouter le mot clé overload pour indiquer que c'est normal (sinon il faut corriger ou supprimer la deuxième déclaration).

    le second message indique que si tu veux déclarer des fonctions portant le même nom mais ayant des paramètres différents, elles doivent toutes les deux avoir le mot clé overload.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    merci bcp comme ça tout va bien

  8. #8
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Citation Envoyé par manel77
    merci bcp comme ça tout va bien
    Si le problème est résolu, merci de cliquer sur
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  9. #9
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 434
    Points : 5 846
    Points
    5 846
    Par défaut
    salut


    ne surtout pas oublier que l'overload n'est valable qu'au sein d'une meme unités

    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Points : 754
    Points
    754
    Par défaut
    précision complémentaire:
    on ne peut publier qu'une seule méthode surchargée.

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

Discussions similaires

  1. 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
  2. Réponses: 1
    Dernier message: 13/05/2002, 09h19
  3. [Kylix] Migration delphi -> kylix
    Par Christian dans le forum EDI
    Réponses: 1
    Dernier message: 03/04/2002, 22h50
  4. Réponses: 4
    Dernier message: 27/03/2002, 11h03
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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