Modifier

Edit du 15/02 : Cet article est moisi... La méthode Enregistrer sous fonctionne bien. J'ai peut-être rencontré des problèmes à un moment donné, mais je ne peux pas dire s'ils sont toujours d'actualités ou non.

La part de vrai dans cet article, c'est qu'à un moment donné, j'ai effectivement eu des problèmes après avoir dupliqué une fenêtre. Après avoir utilisé ma méthode, je n'ai plus jamais eu ces problèmes. Si cela vous arrive, vous aurez l'explication dans l'article barré.

Mais il est temps de tourner la page et de réutiliser la méthode qui convient. Donc, je vais réutiliser la méthode Enregistrer sous. Et si je retombe sur un problème, je vous en ferai part à ce moment là.

Désolé de poster des informations moisies. Je ferai plus attention.

Merci pour votre compréhension et à Loïc HAMEL qui m'a remis sur le droit chemin.

Il m'arrive parfois de vouloir réutiliser une fenêtre dans un même projet WinDev®. Voici les méthodes que j'ai utilisées

Dans l'idée, c'est mal, car je fais du copier / coller de code ce qui ne correspond pas à ma philosophie DRY (Don't Repeat Yourself). Mais bon, dans la vie, on ne fait pas toujours ce que l'on souhaite.

Enregistrer sous

Au départ, je faisais enregistrer sous, jusqu'à ce que je me rende compte que ça renomme l'objet dans le projet. Je l'ai fait une fois, puis plus jamais.

Copier / Coller

Ensuite, j'ai dupliqué la fenêtre depuis l'explorateur Windows puis je l'ajoutais dans le projet. Tout fonctionnait bien jusqu'à ce que des bugs inexplicables apparaissent... Avec cette méthode, des liens entre la nouvelle fenêtre et l'ancienne n'étaient pas cassés et du coup, l'appel d'une procédure de la nouvelle fenêtre provoquait l'appel de la procédure de la fenêtre initiale sans qu'elle ne soit chargée. Je ne vous explique pas la difficulté à debugger tout ça...

La méthode

Aujourd'hui, ma méthode est la suivante. Je duplique l'élément et je place la copie dans un nouveau dossier (dans mon cas, c'est le dossier temp). J'enlève la lecture seule (si l'élément était dans le GDS et n'était pas extrait, il est en lecture seule), puis j'ouvre l'élément dans WinDev et je le renomme. Dans le cas d'une fenêtre, je vais dans la description et je modifie le nom logique. Une fois cela effectué, je ferme WinDev puis je prends l'élément renommé depuis l'explorateur Windows et je le place dans le projet initial. Il ne me reste plus qu'à ouvrir l'élément dans le projet et l'enregistrer (normalement, WinDev me propose de l'ajouter au projet).

Et voilà !

Article précédent Article suivant