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 :

Mais d'où je viens ?


Sujet :

Langage Delphi

  1. #21
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 831
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 831
    Points : 13 579
    Points
    13 579
    Par défaut
    Jamais utilisé de reintroduce . Mais n'est-ce pas lié à la surcharge d'overload pour que l'ancienne procédure soit toujours accessible ?

    EDIT:
    Il y a un avertissement, mais le but étant bien de cacher le constructor d'origine. Alors...

  2. #22
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Ben le problème c'est qu'en redéfinissant le constructeur avec des paramètres différents (donc sans directive overload), tu masques le constructeur de TForm.
    D'où la présence d'un avertissement à la compilation.

    Quant à la directive reintroduce à part masquer ce type d'avertissement je n'en vois pas d'autre utilité.

    Mais bon je chipote.

    [edit]
    On est d'accord.

  3. #23
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 173
    Points
    4 173
    Par défaut
    Citation Envoyé par Cl@udius Voir le message
    Quant à la directive reintroduce à part masquer ce type d'avertissement je n'en vois pas d'autre utilité.
    Justement, c'est sa seule utilité. Si tu écris une méthode qui masque celle de l'ancêtre, le compilo déclenche un avertissement car c'est probablement une erreur.

    Mais si tu le fais en connaissance de cause, et que tu es un peu pointilleux sur les avertissements, tu ne veux pas avoir de warning alors que c'est voulu. Reintroduce sert uniquement à dire au compilo que tu le fais en connaissance de cause.

  4. #24
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par Franck SORIANO Voir le message
    Reintroduce sert uniquement à dire au compilo que tu le fais en connaissance de cause.
    J'avais initialement imaginé que cette directive pouvait avoir une autre utilité, mais force est de constater qu'elle se limite à supprimer le warning.
    J'en suis donc arrivé à cette conclusion.
    Merci de le confirmer.

    @+ Claudius

  5. #25
    Membre averti Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 342
    Points : 394
    Points
    394
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Cela fonctionnera uniquement si MonIdOrigin est une variable globale et non une variable appartenant à TfSociete. L'objet TfSociete n'ayant pas encore été créé au moment de l'assignation de MonIdOrigin.

    Si cette variable appartient à TfSociete on passera plutôt par une surcharge du constructeur:
    Dans l'idée , MonIdOrigine est une variable globale définie dans la partie implémentation de l'unité USociete. Question toujours naïve : quelle importance qu'elle n'appartienne pas à TFSociete puisqu'elle ne servira qu'à un traitement local : elle n'est pas destinée à être appelée par d'autres unités ???

  6. #26
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 831
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 831
    Points : 13 579
    Points
    13 579
    Par défaut
    Dans le cas présent, il ne devrait pas y avoir autrement de problème .

    Mais ne prend pas cette habitude. S'il devait une fois y avoir plusieurs objets du même type (pas forcément des fiches) actifs en même temps...

  7. #27
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Cela fonctionnera uniquement si MonIdOrigin est une variable globale et non une variable appartenant à TfSociete. L'objet TfSociete n'ayant pas encore été créé au moment de l'assignation de MonIdOrigin.
    non, pas obligatoir:
    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
    28
    29
     
    type
      TMaForm= class(TForm)
    .....
     
      end;
    Function ModifCheque(V:integer):Integer;// "V" variable qui défini l'appelant
    Implemantation
    var  Eta:integer;
    Function ModifCheque;
    begin
         with TMaForm.Create(application) do
           try
             Eta:=v; 
             case v of
               end;
             result:=ShowModal;
           finally
             Release;
           end;
     
    end;
    //ou
    Procedure TMaForm.Traitment
    begin
           case Eta of
          ....
          end;
    end;

  8. #28
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Rebonjour à tous.

    Je vous remercie pour toute vos pistes trés intéressantes.

    Pour infomer Mantor le tag n'ai pas utilisable, au showmessage dans l'evenement create de la forme Societe il est toujours égale à 0.

    Apres la remarque d'andnotor sur le recherche d'une autre information, effectivement j'ai un String (variable global) qui est testable à = '' qui règle mon souci.

    PS : Je ne pouvais pas utiliser la connection string qui est par défaut rempli au moins du provider.

    Ceux-ci dit, j'aurais aimé utiliser cette notion de surcharge d'une variable de ma Form Fsociete mais je n'ai pas réussi, où n'ai pas bien compris vos exemples.

    Merci à tous...

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [PostgreSQL]PostgreSQL sous windows mais sans Cygwin
    Par manou dans le forum Administration
    Réponses: 8
    Dernier message: 17/04/2003, 17h19
  2. template match="node() mais pas text()"
    Par Manu_Just dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 26/03/2003, 11h52
  3. Réponses: 11
    Dernier message: 17/03/2003, 11h56
  4. [Choix SGBD] Application mono-poste mais beaucoup de données
    Par Wavyx dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 16/03/2003, 19h24
  5. Lancer un programme, mais sur une autre machine
    Par GOUGOU1 dans le forum Réseau
    Réponses: 12
    Dernier message: 08/12/2002, 21h36

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