Surveillance des modifications apportée sur n'importe quel type d'objet : détection des modifications

Description

Beacoup comme moi auront surement eu besoin de vérifier si des contrôles d'une fenêtres ont été modifiés. Je pense par exemple à une fiche qui contiendrait des renseignements sur un contacts. Lors de la modification de ce contact, on initialise les champs avec une valeur et on aimerait bien, avant de fermer la fenêtre, vérifier qu'il y a bien eu des modifications avant de demander à l'utilisateur s'il veut sauvegarder ses modifications.

Cette petite DLL est la solution. Je l'ai créée de la manière la plus simple :
on a un objet principal : le Supervisor auquel on ajoute la liste des contrôles à surveiller. Ensuite, on peut initialiser la valeur de ces contrôles et une fois qu'on a tout initialisé, on demande au surpervor d'initialiser sa surveillance à partir de ce moment précis (on retient pour chaque contrôle la valeur à surveiller : pour un textbox, c'est la propriété TEXT par exemple). Ensuite, on peut modifier la fiche et avant de sortir, on demande au supervisor s'il y a eu des modifications via une simple fonction HASCHANGES.

J'ai développé cette DLL de manière à pouvoir facilement ajouter des nouveaux types d'objets pouvant être surveillés. Pour cela, il suffit d'implémenter l'interface IControlSupervised et de faire le lien entre le nouveau type d'objet à surveiller et votre implémentation via la fonction ADDCONTROL du Supervisor.

Codes Sources

A voir également

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.