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 :

StringGrid RowCount et Cells


Sujet :

Langage Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 174
    Points : 38
    Points
    38
    Par défaut StringGrid RowCount et Cells
    Bonjour,

    Je suis en cours de debuggage sur un vieux code Delphi 7 et je suis tombé sur un bout de code qui m'interpelle.

    Le bout de code en question gère le remplissage d'une StringGrid.
    En deboguant ce code, je me suis aperçu que parfois on allait valoriser des cellules de la grille MaGrille.Cells[col][row] := 'mavaleur' sur les indices de lignes supérieurs au nombre de lignes de la grille (row > MaGrille.RowCount).

    Je ne comprend pas que ce code ne plante pas.

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 421
    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 421
    Points : 5 820
    Points
    5 820
    Par défaut
    salut

    je suis surpris ...
    n'y a t'il pas un test de limite avant l'affectation ?
    regarde dans les option de compilation le debordement de pile ne doit pas etre coché
    ce qui doit effectivement engendré quelque mesaventure a mon avis
    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

  3. #3
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 664
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 664
    Points : 6 967
    Points
    6 967
    Par défaut
    Citation Envoyé par anapurna Voir le message
    je suis surpris ...
    n'y a t'il pas un test de limite avant l'affectation ?
    Moi pas. Je l'avais déjà remarqué.
    Dans les sources, SetCells fait appel à EnsureColRow. C'est pas lui qui fait des contrôles ?
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ___ Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.1 Entreprise
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.4)

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 174
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par Lung Voir le message
    Moi pas. Je l'avais déjà remarqué.
    Dans les sources, SetCells fait appel à EnsureColRow. C'est pas lui qui fait des contrôles ?
    Nom d'un petit bonhomme !!
    J'ai vérifié les options de compilation du projet => Effectivement les options "Range checking" et "Overflow checking" sont désactivées.
    Si je les active j'ai des messages d'erreur en cascade à l'execution plus loin dans le code.
    Pour autant le fait de "setter" des cellules hors de la plage admissible de la StringGrid ne semble pas déclencher d'exceptions.

    Si toute l'appli a été codée comme ça, je vais "m'amuser" pour la déverminer...

Discussions similaires

  1. [Sidney] StringGrid et RowCount
    Par der§en dans le forum Delphi
    Réponses: 2
    Dernier message: 17/12/2020, 21h18
  2. Réponses: 3
    Dernier message: 17/02/2020, 17h12
  3. Réponses: 11
    Dernier message: 10/11/2011, 13h31
  4. [Lazarus] [0.9.31] StringGrid : TBitMap en Cells[0, aRow] avec FixedCols :=1
    Par Invité dans le forum Lazarus
    Réponses: 9
    Dernier message: 25/10/2011, 19h06
  5. StringGrid et colonnes
    Par Delph dans le forum Composants VCL
    Réponses: 2
    Dernier message: 02/08/2002, 11h35

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