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 :

Message error creating form list index out of bounds


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2002
    Messages : 32
    Points : 23
    Points
    23
    Par défaut Message error creating form list index out of bounds
    Bonjour,

    J'ai un groupe de deux projets delphi. Le premier est une version de base de l'application et le second la version complète. La version complète hérite des fonctionnalités la version de base plus de nombreuses autres fonctionnalités.

    Je suis à quelques jours de la mise en prod et après avoir peaufiné quelques trucs dans la version de base hier soir, aujoudhui, la version complète s'exécute avec le message error creating form list index out of bounds (46). BTW est ce que le 46 veut dire quelque chose en particulier ?

    La version de base continue de fonctionner correctement. Je n'ai aucune idée de ce qui cause cette erreur. Le pire c'est que je ne peux même plus afficher la form en mode conception dans l'IDE. Je n'ai accès qu'au fichier source .pas

    J'ai essayé les options du debugger mais je n'arrive pas à localiser le compo ou l'objet qui pose problème. Peut-etre que je ne l'utilise pas comme il le faudrait.

    J'ai également essayé de voir à quel moment cela se produit en mettant du code dans les évenements de OnActivate, OnCreate, Onshow de la version complete mais il plante avant autrement dit aucun des codes n'est exécuté.

    Quelqu'un a-t-il une idée de comment je peux savoir ce qui déconne ? Comment accéder de nouveau au moins à la fiche en design ?

    Je n'imagine même pas devoir recommencer 3 mois de dev...

    Votre aide sera trrrrreeeeessss appréciée.

    Delphi 7 + Firebird sur win 7 64

    Merci pour vos retours.
    "Selon que notre idée est plus ou moins obscure
    L'expression la suit ou moins nette ou plus pure..."

  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    664
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 664
    Points : 3 642
    Points
    3 642
    Billets dans le blog
    2
    Par défaut
    Bonsoir,

    Avez vous modifié le code du projet (fichier dpr) manuellement ou via le menu Projet/Options puis la rubrique Fiches comme par exemple l'ordre de création des fiches ou modifier des fiches qui étaient créées automatiquement doivent maintenant être créées manuellement ?
    Autre piste, est ce que vous avez dans votre application une section initialization qui s'exécute dès que le module se charge (avant FormCreate par exemple) ?
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2002
    Messages : 32
    Points : 23
    Points
    23
    Par défaut
    Bonsoir,

    L'application possède 5 forms. La principale, le module de données, Splash, les paramètres et A Propos. Seules les Data module et la form principale sont auto-créées dans Projet- >Options

    Non il n'y a aucun code dans initialization. La seule modification effectuée dans le code du projet est pour récupérer dans le fichier du ressources le titre du projet vu que j'en ai deux... Mais cela a été fait depuis le début... A part cela rien d'autre...

    Merci
    "Selon que notre idée est plus ou moins obscure
    L'expression la suit ou moins nette ou plus pure..."

  4. #4
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 824
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 824
    Points : 15 245
    Points
    15 245
    Par défaut
    Salut,
    Citation Envoyé par kolac Voir le message
    aujoudhui, la version complète s'exécute avec le message error creating form list index out of bounds (46). BTW est ce que le 46 veut dire quelque chose en particulier ?
    ça, en général, c'est vouloir utiliser un objet qui n'est pas encore créé, et 46 pourrait être une tentative de remplir une liste avec 46 entrées mais la liste n'est pas créée.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 744
    Points : 13 303
    Points
    13 303
    Par défaut
    La liste est correctement créée sinon ce serait une violation d'accès

    Si tu ne peux plus ouvrir la fiche en conception, c'est qu'il y a une erreur dans le dfm.
    Tu essayes manifestement d'activer par défaut le 47ième élément (indexe 46 en base 0) d'une TStrings n'en contenant pas autant (un ComboBox par exemple).

    Fais une copie du dfm (par sécurité) et ouvre-le dans le bloc-notes. Cherche 46, tu devrais trouver une ligne ItemIndex = 46 ou quelque chose de similaire. Mets cette valeur à -1.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2002
    Messages : 32
    Points : 23
    Points
    23
    Par défaut
    Bonjour,

    Merci pour vos pistes de réflexion... La recherche effectuée dans le dfm de 46 ou même 47 ne donne aucun résultat. Il y a très peu de liste dans les fiches de l'application. Celles qui y sont sont des combobox (List Of Value) créés à la conception est qui contiennent des valeurs provenant de table avec très peu de valeurs max 10. Ce sont des aides à la saisie. et toutes les tables contiennent des valeurs.

    Merci
    "Selon que notre idée est plus ou moins obscure
    L'expression la suit ou moins nette ou plus pure..."

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/09/2015, 20h39
  2. list index out of bounds
    Par sasaas dans le forum Débuter
    Réponses: 1
    Dernier message: 13/01/2009, 17h54
  3. [socket]Erreur List Index Out Of Bound
    Par afrodje dans le forum C++Builder
    Réponses: 1
    Dernier message: 23/06/2008, 16h43
  4. Message d'erreur : Liste index out of bounds (-1)
    Par valer dans le forum Langage
    Réponses: 7
    Dernier message: 25/04/2008, 08h50
  5. Erreur List Index Out Of Bound
    Par Baxter67 dans le forum C++Builder
    Réponses: 29
    Dernier message: 21/04/2008, 10h39

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