Bonjour,
D'après la documentation de Delphi, on peut utiliser la propriété ".Tag" d'un objet pour stocker une référence ou un pointeur.
J'essaye donc de l'utiliser avec " as " mais le compilateur me mets :TComponent.Tag Propriété
Stocke une valeur entière dans un composant.
Classe : TComponent
Syntaxe :[Delphi] property Tag: Integer read FTag write FTag;
Description
Tag n'a pas de signification prédéfinie. La propriété Tag est fournie pour les besoins des développeurs. Elle est proposée pour stocker une valeur entière ou elle peut être transtypée sur n'importe quelle valeur 32 bits, comme une référence de composant ou un pointeur.
Est-ce que quelqu'un a déjà été confronté à ce problème ? Comment l'utiliser ?1 - objet.Tag := instance_autre_objet;
==> erreur : E2010 - Types incompatibles
2 - (objet.Tag as TMaClasse) := instance_autre_objet;
==> erreur : E2015 - Opérateur non applicable à ce type d'opérande
3 - objet.Tag := instance_autre_objet as Integer;
==> erreur : E2015 - Opérateur non applicable à ce type d'opérande
Merci
PS :
Pour ceux qui se demande pourquoi j'ai besoin d'utiliser cette "astuce" c'est pour pouvoir faire une trace par connexion de base de données établies.
J'ai un pool de connexion qui est attribué à des threads [verrouillage par mutex ou TCriticalSection]. J'ai besoin de tracer indépendamment chaque requête qui passe par chaque connexion.
Donc, je crée une classe de trace que j'associe avec la connexion.
S'il y a d'autres moyens je suis preneur![]()
Partager