Ce code permet d'éviter l'erreur qui se produit lorsque l'utilisateur clique dans un TListView, qu'il n'y a aucun élément et que le code de l'événement OnClick se sert des propriétés de l'élément selectionné.
Il est à placer au debut de la procedure OnClick de la ListView, comme ci-dessous:
Source / Exemple :
procedure TForm1.ListView1Click(Sender: TObject);
begin
If ListView1.ItemIndex <> -1 then
begin
// vos instructions
end;
end;
Conclusion :
Voila une mise à jour suite au différentes remarques productives qui ont été postées :D
29 sept. 2003 à 21:57
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.
29 sept. 2003 à 21:34
if TXList.ItemIndex = -1 then exit;
ça empêche toute erreur
29 sept. 2003 à 07:37
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...)
à+
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.