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

EDI Delphi Discussion :

Bug du compilateur Delphi 7 en version 7.1


Sujet :

EDI Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Bug du compilateur Delphi 7 en version 7.1
    Je viens de trouver un bug du qui est à priori apparu avec la version 7.1.

    La version 7.0.4.53 du compilateur (Dcc70.dll) m'affiche un avertissement alors que la version 7.0.8 ne le fait pas ! La dernière version est donc buggée.

    Exemple de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var
      objEssai    : TList;
    begin
      try
        objEssai := TList.Create;
      finally
        objEssai.Free;
      end;
    end;
    Résultat à obtenir :

    [Avertissement] : La variable 'objEssai' n'est peut-être pas initialisée.

    Avec la première version de Delphi 7, c'est ok. Avec la dernière (nommée 7.1), pas d'avertissement !

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Points : 1 608
    Points
    1 608
    Par défaut
    C'est plutôt sur QualityCentral qu'il faut poster :
    http://qc.borland.com/wc/qcmain.aspx?p=10

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Effectivement, je vais le faire de suite. Merci.

    Mais on ne sait jamais, ça peut toujours servir à quelqu'un qui chercherait sur ce forum !

  4. #4
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 49
    Points : 59
    Points
    59
    Par défaut Re: Bug du compilateur Delphi 7 en version 7.1
    Citation Envoyé par Mikol
    Exemple de code :
    var
    objEssai : TList;
    begin
    try
    objEssai := TList.Create;
    finally
    objEssai.Free;
    end;
    end;

    Résultat à obtenir :
    [Avertissement] : La variable 'objEssai' n'est peut-être pas initialisée.

    Avec la première version de Delphi 7, c'est ok. Avec la dernière (nommée 7.1), pas d'avertissement !
    ptet que la version 7.1 est plus correcte. tu devrais corriger ton code en ecrivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var
      objEssai    : TList;
    begin
      objEssai := TList.Create;
      try
        // le code securisé
      finally
        objEssai.Free;
      end;
    end;
    car si tu mé le create dans le bloc Try, il ce peut que ton code crash avant le create et le code "objEssai.Free" inclus dans le bloc finally va liberer un objet non encore créé.

    Moralité : ce n'est pas un bug.

  5. #5
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loir et Cher (Centre)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 104
    Points
    19 104
    Par défaut Re: Bug du compilateur Delphi 7 en version 7.1
    Citation Envoyé par chebreg
    car si tu mé le create dans le bloc Try, il ce peut que ton code crash avant le create et le code "objEssai.Free" inclus dans le bloc finally va liberer un objet non encore créé.

    Moralité : ce n'est pas un bug.
    Si justement. Le compilateur devrait avertir que l'objet n'est pas forcément créé au moment de l'appel de free.

  6. #6
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 49
    Points : 59
    Points
    59
    Par défaut
    désolé j'avais compris l'inverse. ça m'apprendra a bien lire les post avant de répondre

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/04/2007, 15h04
  2. Dans quel langage a été écrit le compilateur Delphi ?
    Par maamar1979 dans le forum Langage
    Réponses: 1
    Dernier message: 08/07/2006, 09h43
  3. [Pb de memoire] Bugs repertories pour delphi 6
    Par kase74 dans le forum Langage
    Réponses: 1
    Dernier message: 02/09/2005, 17h32
  4. Delphi 2005 : Quelle version Pro ou Ent ?
    Par Harry dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/04/2005, 09h21
  5. exptression booléenne et compilateur Delphi
    Par jakouz dans le forum EDI
    Réponses: 3
    Dernier message: 24/09/2002, 13h25

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