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

Composants VCL Delphi Discussion :

[ComboBox] et plantage USER.EXE


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut [ComboBox] et plantage USER.EXE
    Title : ComboBox et USER.EXE


    Bonjour,

    Je commence à redouter le OnChange de ComboBox, j'ai tout vérifié dans tous les sens (en virant les autres codes potentiellement interférants) et ça plante si je chatouille un peu de trop son maniement = clic sur les itemps !

    J'ai limité les plantage en ajoutant une affectation afin d'éviter la prise directe:

    Voici le code en OnChange :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm1.ComboBox1Change(Sender: TObject);
        var i : Integer;
        S1: string[100];
      begin
       i := ComboBox1.ItemIndex;
       S1 := ComboBox1.Items.Strings[i]; // Clic ComboBox ==> Edit
       Edit1.Text := S1;
    // ORIGINE => PLANTAGES USER ???? Edit1.Text := ComboBox1.Items.Strings[i];
    end;
    Avez-vous déjà eu pareil problème avec ce compo :

    Merci d'avance de vos conseils et

    Car je pensais avoir trouvé, mais j'ai seulement limité...

  2. #2
    bjl
    bjl est déconnecté
    Membre chevronné Avatar de bjl
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : Brésil

    Informations forums :
    Inscription : Décembre 2002
    Messages : 263
    Par défaut
    Bonjour,

    as tu essayé tout simplement ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Edit1.Text := ComboBox1.Text;

  3. #3
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut
    Bonjour,

    Citation Envoyé par bjl
    Bonjour,

    as tu essayé tout simplement ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Edit1.Text := ComboBox1.Text;
    Je complique toujours tout !

    Merci, mais ça fait toujours pareil :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ... a causé une défaillance de page dans
     le module USER.EXE à 0004:00006001.
    Registres :
    EAX=00000001 CS=17af EIP=00006001 EFLGS=00000247
    EBX=02278cf6 SS=5a77 ESP=00008cf2 EBP=00008d0a
    ECX=00030000 DS=944e ESI=00030227 FS=9217
    EDX=000316bf ES=83ff EDI=00000000 GS=0000
    Octets à CS : EIP :
    a4 8e da 5f 5e ca 0a 00 55 8b ec 56 1e c5 76 08 
    État de la pile :
    0000040a 176f1050 00000001 022783ff 78e0944e 944e0227 0a258d60 83ff0000 00000038 5a77c7dc 00030000 8d62040a 4d7d416c 00380040 01890000 4d7d08c0
    Là, ça me dépasse

    Je vais voir s'il n'existe pas un autre compo de ce genre, car je le sens pas.

    L'autre fois j'avais téléchargé l'exemple d'ici en page des codes sources.

    A la première compil = plantage USER.EXE !

    Je croyais que c'était de ma faute et que dans la journée j'avais trop trifouillé le système.

    Précision : je développe sous Windows98se.


    @+

    ======================================

    Oupsss, je voulais en avoir le coeur net...

    Je viens de télécharger le zip en question, et directo à la première compil :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    DELPHI32 a causé une défaillance de page dans
     le module USER.EXE à 0004:00006001.
    Registres :
    EAX=00000001 CS=17af EIP=00006001 EFLGS=00000247
    EBX=000e8d16 SS=4e5f ESP=00008d12 EBP=00008d2a
    ECX=00030000 DS=188e ESI=0003000e FS=4aa7
    EDX=000316bf ES=61a7 EDI=00000000 GS=0000
    Octets à CS : EIP :
    a4 8e da 5f 5e ca 0a 00 55 8b ec 56 1e c5 76 08 
    État de la pile :
    0000040a 176f1050 00000001 000e61a7 4ff0188e 188e000e 0a258d80 61a70000 00000002 4e5fb154 00030000 8d82040a 6d9d416c 00024000 01890000 6d9d0a3c


    Là, j'y perds mon latin !

  4. #4
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut
    Bonsoir,

    J'ai donc téléchargé un autre compo : ComboBoxRechInc, et là idem de chez idem

    Je ne sais que penser... Connaissez-vous un autre compo équivalent, qui montre une liste - et non une ligne - , dans le même principe que le ComboBox ?

    Merci de vos et expérience, car là il fait nuit noire

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 258
    Par défaut
    Salut J-P,

    C'est pas ton index i qui est hors limite???

    Est-ce que tu l'initialises quelque part??

    A plus,


    Christopher

  6. #6
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut
    Hello Chris my sauveur !

    Citation Envoyé par lapec_and_cie
    Salut J-P,

    C'est pas ton index i qui est hors limite???

    Est-ce que tu l'initialises quelque part??

    A plus,


    Christopher
    Heuuuu... j'ai honte mais je n'avais encore jamais utilisé ce compo !

    Alors le "hors limite" je ne connais pas encore, mais tu parles si ça m'intéresse, merci d'avance de me dire !

    Tiens je ne sais pas si...

    Bonne nuit,

    Ça fait au moins 1/2 heure que je clique comme une bête sur les différents items de mon fameux ComboBox (le compo de Delphi) et le trifouille dans tous les sens, sans le ménager...

    Il ne fait plus du tout planter le programme - enfin.. je touche du bois et n'ose y croire -.

    Qu'ai-je donc fait pour que cela aille mieux allez-vous me dire ?

    Bon... je ne sais pas si j'ai mis le doigt là oú ça fait mal, heuuuu ça fait du bien, mais:

    Le principe en gros du module en question de mon appli est de charger dans la ComboBox un fichier texte extension .TXT, dont je peux coller un item dans un Edit, ou bien dans l'autre sens...

    J'en viens au fait : hé bien j'ai tout sélectionné le texte de mon fichier .TXT et j'ai forcé son format en ANSI (MetaPad).

    Je ne sais pas si c'est ça, et si auparavant j'était en ANSI ou autre ; mais pour l'instant c'est nickel chrôme platine.

    Est-il possible que cela en soit (en était ?) la cause ?

    Merci de vos lumières et bonne nuit !


    @+

  7. #7
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut Que la lumière soit...
    Bonjour,

    Suite et fin de ce topic, je poste ici le résultat des courses, ça servira j'espère à d'autres.

    A la source un plantage total de Delphi 7 avec message USER.EXE à... lorsque je tentais d'ouvrir la string du fichier .zip d'exemple cité plus haut.

    Quant à lancer la compil, là c'était mission impossible : USER.EXE idem.

    J'ai installé un compo ComboBox sur mon appil et des fois ça plantait directo, des fois au bout de 20 clics sur un item et des fois non...

    Je pensais à une histoire de format de texte ANSI ou OEM.

    En fait, comme je suis têtu et curieux - une quaité de développeur - j'ai enfin débusqué le "truc" qui peut rendre chèvre

    Regardons un extrait du fichier .DFM du zip de démo en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    OnChange = ComboBox1Change
        Items.Strings = (
          'Hello'
          #231'a va'
          ''
          'moi oui'
          ''
          'et toi.')
      end
    Nous voyons quoi ? hé bien des strings de lignes vides !

    Si je rempli ces simples quotes/lignes vides, là c'est impec et ça se compil nickel.

    Sur mon appli, ça plantait moins, en ce sens que losque ça plantait, c'est seulement mon appli qui plantait et non Delphi.

    Faut dire que je n'utilise pas directement les Items.Strings, j'affecte un fichier en texte brut ===> Items.Strings.

    Pour confirmer ma trouvaille, je me suis amusé à planter à la carte.

    Comment ?

    Simplement à ajouter tout au bas de ma liste, des spaces et là-dessus d'enregistre.

    Inutlle de vous dire que lors d'un appel en OnChange du Combo, le plantage USER.EXE montre le bout de son nez aussitôt !

    Ensuite de vire ces spaces et je retente de cliquer sur les items, miracle...

    Je suis sous Windows 98se, peut-être son importance ?

    Voilà affaire résolue

  8. #8
    Membre Expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Par défaut
    Oui, en gros c'est la classe Tstrings qui n'aime pas trop qu'on la chatouille avec n'importe quoi

  9. #9
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut
    Bonjour,

    Citation Envoyé par waskol
    Oui, en gros c'est la classe Tstrings qui n'aime pas trop qu'on la chatouille avec n'importe quoi
    Merci de cette pécision technique, surtout qu'en l'occurrence, il s'agit de "rien" puisque d'une string vide

    Chose curieuse, lorsque je réalise cette manip dans l'autre sens, c'est à dire de l'Edit ==> fichier.TXT, je peux ajouter autant de caractères spaces que je veux ; là ça ne plante pas au retour lorsque je clique sur un item via le OnChange !

    Mais si je vais dans le fichier texte, là c'est pas la même chose.

    Bon we.

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

Discussions similaires

  1. Plantage du .exe et pas dans l'IDE
    Par Invité dans le forum C++
    Réponses: 14
    Dernier message: 01/04/2011, 22h46
  2. Réponses: 16
    Dernier message: 26/07/2010, 18h02
  3. [WS 2003] Plantage Excel.exe sur TSE 2003 R2
    Par jhary07 dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 11/09/2009, 15h39
  4. Fichier User.exe
    Par jp Louis dans le forum Windows 2000/Me/98/95
    Réponses: 4
    Dernier message: 03/05/2006, 22h50
  5. Pb avec le fichier user.exe
    Par StyleXP dans le forum Windows 2000/Me/98/95
    Réponses: 4
    Dernier message: 04/03/2006, 15h04

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