![]() |
Faire un script qui se désinstalle proprement - Version imprimable +- Communauté Eggdrop (https://forum.eggdrop.fr) +-- Forum : Eggdrop et scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=8) +--- Forum : F.A.Q. (https://forum.eggdrop.fr/forumdisplay.php?fid=9) +--- Sujet : Faire un script qui se désinstalle proprement (/showthread.php?tid=253) |
Faire un script qui se désinstalle proprement - MenzAgitat - 08/08/2008 En tout premier lieu et afin de comprendre la suite, vous devriez vous familiariser avec le concept des namespaces. Fonctionnement : La procédure de désinstallation est automatiquement appelée si un .rehash est demandé. Les binds du script sont supprimés, le namespace est détruit et toutes les ressources utilisées par le script sont ainsi libérées, ne laissant aucune trace. Cela permet de modifier les binds de son script ou de renommer une procédure sans avoir besoin de .restart ensuite (un simple .rehash suffit), de désinstaller totalement un script sans nécessiter de .restart après qu'on l'ait enlevé du démarrage automatique dans eggdrop.conf, de travailler sur un script en cours de développement en s'assurant qu'aucune trace conflictuelle ne reste lorsque vous appliquez vos modifications avec .rehash. Modèle : tcl
RE: Faire un script qui se désinstalle proprement - MenzAgitat - 16/04/2009 L'idée d'un désinstalleur universel est intéressante mais avec ton exemple, ça ne fonctionnera pas si les binds comportent un namespace avec un chemin absolu ( donc commençant par :: ), ni avec des binds comportant des { }. Je réfléchis à des solutions et je vous tiens au courant (ou si Artix veut pousser jusqu'au bout son idée il est le bienvenu ![]() RE: Faire un script qui se désinstalle proprement - Merwin - 16/04/2009 Bah on peut simplement utiliser [namespace current] pour trouver le namespace puisque de toute évidance la procédure unsinstall sera dedans. RE: Faire un script qui se désinstalle proprement - Artix - 02/09/2009 Desinstaller les timers ... est en fait super simple: Il suffit de rajouter un commentaire après chaque timer créé (genre, ;#SCRIPT:Monscript) Ensuite de tous les dégager dans la procédure de désinstallation : tcl
RE: Faire un script qui se désinstalle proprement - MenzAgitat - 17/05/2017 Petite mise à jour tardive, vu que j'avais totalement oublié l'existence de ce post. Si votre script n'utilise pas de timers ou d'utimers, vous pouvez enlever les lignes correspondantes dans la procédure uninstall afin de ne pas encombrer inutilement votre code. Si votre script ne déclare pas de package au moyen de package provide YOURSCRIPTNAME, vous pouvez enlever la ligne package forget YOURSCRIPTNAME. Si votre script n'utilise pas de packs de langue (msgcat), vous pouvez enlever les lignes correspondantes. A placer avant toute autre ligne de code dans votre script : tcl
Procédure à placer de préférence avant toute autre procédure dans votre script : tcl
Bind : tcl
|