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 FMX Delphi Discussion :

ListView et suppression d'élément


Sujet :

Composants FMX Delphi

  1. #1
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut ListView et suppression d'élément
    Bonjour,

    version Rio 10.3

    Je butte encore sur un truc jusqu'alors inutilisée de ma part.

    Soit un TListView rempli via Livebindings bien sûr

    Nom : Capture.PNG
Affichages : 138
Taille : 58,9 Ko
    pour obtenir le bouton Delete en rouge j'ai juste modifié la propriété du TextButton, buttontype, en la passant à Delete

    le code est simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm109.ListView1ButtonClick(const Sender: TObject;
      const AItem: TListItem; const AObject: TListItemSimpleControl);
    begin
    FDQuery1.Delete;
    end;
    Tout fonctionne sauf si je supprime le dernier élément qui me lève une erreur d'exception

    Citation Envoyé par Erreur
    Violation d'accès à l'adresse 0098C445 dans le module 'Projectdelete.exe'. Lecture de l'adresse E9F80436.
    Je soupçonne la liaison d'en être responsable (une fin de fichier mal géré ?)

    1. Comment y échapper ?
    2. Avez-vous déjà eu à faire à ce cas ?
    3. Est-ce un bogue de version, j'ai essayé avec Tokyo, même erreur quoique avec une adresse mémoire différente? (je n'ai pas encore vérifié si c'était signalé au niveau du portail qualité)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Je n'ai toujours pas trouvé de solution. La piste bogue semble se confirmer.
    J'ai encadré ma suppression par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TForm109.ListView1ButtonClick(const Sender: TObject;
      const AItem: TListItem; const AObject: TListItemSimpleControl);
    begin
    LinkListControlToField1.Active:=False;
    FDQuery1.Delete;
    LinkListControlToField1.Active:=True; // erreur ici
    end;
    du coup le message d'erreur devient
    ---------------------------
    Erreur
    ---------------------------
    Argument hors limites.
    Ce qui tend bien à prouver que le problème est dans la liaison, mais je n'arrive pas à l'ignorer
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Finalement c'est résolu avec peine et grâce aux pistes qu'a pu me fournir Nabil74 en live.

    Ce qui m'a mené sur la voie : "as-tu essayé avec une grille ?", je n'y avais même pas songé. J'ai alors positionné un BindNavigator et utilisé le bouton de suppression => pas d'erreur
    du coup je me suis dit "que se passerait-il avec l'évènement OnItemClick tout simple ?" => pas d'erreur

    la solution alors devient l'utilisation de OnItemClicEx
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TForm109.ListView1ItemClickEx(const Sender: TObject;
      ItemIndex: Integer; const LocalClickPos: TPointF;
      const ItemObject: TListItemDrawable);
    begin
    if ItemObject is TListItemTextButton then
     FDQuery1.Delete;
    end;
    N'empêche, "Helas poor Button, bug or not bug that is the question"
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

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

Discussions similaires

  1. [Tableaux] suppression d'élément d'un tableau
    Par maysa dans le forum Langage
    Réponses: 8
    Dernier message: 04/04/2007, 08h37
  2. Suppression d'éléments dans un tableau (Array)
    Par jeremie74 dans le forum Flash
    Réponses: 4
    Dernier message: 06/03/2007, 13h54
  3. Suppression d' éléments dans une liste.
    Par conan76 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 02/03/2007, 09h33
  4. [Tableaux] Suppression d'élément de tableau
    Par jpascal dans le forum Langage
    Réponses: 2
    Dernier message: 27/12/2006, 15h11
  5. [xslt] Suppression des éléments sans contenu.
    Par dibbouk dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 17/06/2005, 17h17

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