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

Delphi Discussion :

Problème Hors Limite que je ne comprends pas


Sujet :

Delphi

  1. #1
    Membre actif
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Points : 259
    Points
    259
    Par défaut Problème Hors Limite que je ne comprends pas
    Bonjour

    Alors là je sais pas si c'est parce que j'ai une idée en tête et que mon bracage m'empêche de trouver l'erreur mais un coup de main ne serait pas de refus.
    J'ai le code suivant :

    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
     
    procedure TfEquipment.FormDestroy(Sender: TObject);
    var
      I: Integer;
      J: Integer;
      gbChild : TGroupBox;
    begin
    for I := 0 to gbEquipment.ControlCount-1 do
      if (gbEquipment.Controls[I] is TGroupBox) then
         Begin
            gbChild:=gbEquipment.Controls[I] as TGroupBox;
            for J := 0 to (gbChild.ControlCount - 1) do
              If (gbChild.Controls[J] is TImage) then
               (gbChild.Controls[J] as TImage).Free;
         end;
    end;
    Le problème (indice Hors Limite) se produit lorsque J=24 à la ligne If (gbChild.Controls[J] is TImage). Il n'y a pourtant pas de possibilité pour que cette indice soit hors limite ... enfin autant que je sache sinon reprenez moi de suite et expliquez moi tout.


    Là je ne comprends pas, j'ai beau tourner et retourner ???

    Merci de votre aide

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Points : 915
    Points
    915
    Par défaut
    Imagine que tu a 3 enfants...
    tu boucle de 0 à 2
    1 er coup tu efface le 0....
    il ne reste plus que 0 à 1
    2 eme coup tu efface le 1
    il ne reste que 0 à 0
    3 eme coup tu efface le 2 --> indice hors limite...


    alors pour eviter le problème,
    effectue tes boucles en sens inverse...

    for J := (gbChild.ControlCount - 1) downto 0 do

  3. #3
    Membre actif
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Points : 259
    Points
    259
    Par défaut
    D'accord !!!

    Je n'avais pas du tout pensé à ça mais il est vrai que ça change tout ...


    Merci beaucoup pour ta réponse rapide, claire et complète

    A très vite

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

Discussions similaires

  1. Problème design que je ne comprend pas
    Par kimimsc dans le forum Services Web
    Réponses: 0
    Dernier message: 03/05/2010, 15h50
  2. Réponses: 33
    Dernier message: 02/02/2009, 22h25
  3. Problème de contrainte que je ne comprend pas
    Par trattos dans le forum Langage SQL
    Réponses: 0
    Dernier message: 15/07/2008, 11h28
  4. [JDOM] Probléme que je ne comprend pas
    Par kaninama dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 23/05/2006, 15h01
  5. [Rave] un message que je ne comprends pas
    Par Clotilde dans le forum Rave
    Réponses: 2
    Dernier message: 30/09/2003, 21h46

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