EVITER UNE ERREUR DES TLISTVIEW

ffert Messages postés 63 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 15 décembre 2009 - 29 sept. 2003 à 07:37
ffert Messages postés 63 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 15 décembre 2009 - 29 sept. 2003 à 21:57
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/16719-eviter-une-erreur-des-tlistview

ffert Messages postés 63 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 15 décembre 2009
29 sept. 2003 à 21:57
C'est vraie que c'est pas mal tout ça...
Mais dans mes bon vieux cours de programmations, on me disait toujours qu'il fallait éviter les goto et les exit (dans les procédures ou les boucles)... Pour programmer "proprement"... (contre-indiqué si l'on doit faire une libération de mémoire aprés le traitement par exemple...)

Alors c'est vrai que j'ai plus l'habitude de les utiliser.....

Mais merci beaucoup.
cs_costello Messages postés 136 Date d'inscription lundi 2 septembre 2002 Statut Membre Dernière intervention 15 février 2006
29 sept. 2003 à 21:34
il y a encore beaucoup plus facile, fiable et marchant avec tout type de liste/autre:

if TXList.ItemIndex = -1 then exit;

ça empêche toute erreur
ffert Messages postés 63 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 15 décembre 2009
29 sept. 2003 à 07:37
Salut,
Je ne suis pas tout à fait d'accord avec ce que tu écris...
Effectivement, s'il n'y a pas d'élément on obtiendra une erreur. Mais dans ton cas précis, si tu as par exemple 2 lignes et que l'utilisateur essaye de clicker sur la 4ème ligne : cela va déclencher une erreur.....

J'utilise autre chose : tout d'abord : sur l'évènement (onselectitem)
procedure TForm1.ListView1onselectitem(Sender: TObject,......);
begin
if ListView1.Items.Selected <> Nil then
begin
// vos instructions
end;
end;

Si l'item sélectionné = nil : pas d'item sélectionné... on a intercepter l'erreur avant qu'elle ne se produise...

J'espère que ça pourra t'aider. (j'ai fait tout ça de tête donc j'espère que je ne suis pas planté... mais dans l'esprit c'est ça...)
à+