17 octobre 2012
publié par 
Un projet WINDEV, WEBDEV ou WINDEV Mobile est composé d'un ensemble de fichiers qui contiennent le code source, l'interface, les données de compilation... Par exemple on trouve dans le dossier du projet les fichiers :
  • <Nom-Projet>.WDP : un projet WINDEV, son code, ses éléments,
  • <Nom-Projet>.WWP : un projet WEBDEV, son code, ses éléments,
  • <Nom-Projet>.ENV : le contexte en cours d'un projet, la configuration du débogueur,
  • <Nom-Projet>.WDH : l'aide d'un projet,
  • <Nom-fenêtre>.WDW : code et ihm d'une fenêtre d'un projet WINDEV,
  • <Nom-fenêtre>.WWH: code et ihm d'une page d'un projet WEBDEV,
  • ...
  • une liste complète est disponible dans l'aide en ligne.

 

S'agissant de fichiers essentiels, il est capital d'assurer leur protection. En effet, comme pour tous les fichiers d'un disque dur, en cas d'arrêt brutal (coupure de courant), défaillance matérielle ou logicielle, une altération de structure est toujours possible. Dans la théorie et les "règles de l'art", le poste de développement aura été soigneusement sécurisé :
  • sauvegardes régulières,
  • exclusions dans les logiciels qui peuvent être intrusifs (antivirus, utilitaires divers d'indexation, recherche, "optimiseur"...).
  • qualité du disque physique,
  • protection du poste contre les coupures de courant (en contrôlant régulièrement que la batterie tienne le temps d'un arrêt complet)
  • ...
Dans la pratique, il peut arriver malgré toutes les précautions d'usage qu'un projet ne puisse plus être ouvert à la suite d'un incident. Par exemple l'ouverture du projet indique qu'il a été créé avec une version antérieure, qu'un bloc de données lu sur le disque n'a pas de la taille attendue, ou pire, Windows affiche son message "a cessé de fonctionner" ou reste figé. Voici les actions à effectuer dans pareil cas, afin d'obtenir à nouveau une ouverture complète du projet :
  • supprimer le fichier <Nom-Projet>.ENV à la racine du dossier du projet,
  • supprimer le dossier complet <Nom-Projet>.CPL.
Les deux seront recréés automatiquement, leur suppression permet d'avoir une réinitialisation de l'environnement de travail du projet.

 

Si le projet reste impossible à charger, c'est que le fichier source du projet lui-même n'a plus la structure attendue :
  • <Nom-Projet>.WDP dans le cas de WINDEV,
  • <Nom-Projet>.WWP dans le cas de WEBDEV,
  • <Nom-Projet>.WPP dans le cas de WINDEV Mobile.

 

Dans ce cas, il convient de remplacer le fichier défectueux par sa sauvegarde, faite automatiquement par WINDEV, WEBDEV et WINDEV Mobile. En effet, chaque projet possède un dossier \Sauvegarde\ qui va reprendre tous les fichiers sources, simplement en modifiant l'extension. Par exemple le fichier du projet <Nom-Projet>.WDP, aura une sauvegarde automatique \Sauvegarde\<Nom-Projet>.BKP (BaKup Projet). Le dépannage coule de source :
  • on renomme dans le dossier du projet le fichier <Nom-Projet>.WDP en <Nom-Projet>.XXX,
  • on copie dans le dossier du projet le fichier \Sauvegarde\<Nom-Projet>.BKP,
  • on renomme dans le dossier du projet le fichier <Nom-Projet>.BKP en <Nom-Projet>.WDP.

 

Le projet peut alors être chargé, l'exécution du menu "Projet ... Autres Actions ... Réparer le projet" permet de s'assurer de la cohérence de toutes les dépendances, et tous les éléments du projet.

 

Lorsque le projet est ouvert, si l'ouverture d'un élément échoue (fenêtre, page, requête, classe, collection ...), le principe de récupération est strictement identique grâce aux sauvegardes automatiques. Par exemple pour une fenêtre <Nom-Fenêtre>.WDW on aura une sauvegarde automatique \Sauvegarde\<Nom-Fenêtre>.BKW :
  • si le projet est dans le GDS, extraction de l'élément par le volet "GDS" de l'éditeur,
  • on renomme dans le dossier du projet le fichier <Nom-Fenêtre>.WDW en <Nom-Fenêtre>.XXX,
  • on copie dans le dossier du projet le fichier \Sauvegarde\<Nom-Fenêtre>.BKW,
  • on renomme dans le dossier du projet le fichier <Nom-Fenêtre>.BKW en <Nom-Fenêtre>.WDW,
  • vérification que l'élément restauré est conforme en l'ouvrant dans l'éditeur,
  • si le projet est dans le GDS, réintégration de l'élément afin que sa nouvelle version locale soit renvoyée dans la base GDS.

 

Cas particulier, si l'ouverture d'un élément (fenêtre, page, requête, classe, collection ...), échoue lors d'une opération globale (recompilation complète, génération de la configuration de projet, synchronisation de modèles ou GDS, ...), il n'est pas toujours possible de trouver l'élément dont il s'agit. L'utilitaire Procmon peut alors aider à repérer l'élément concerné. Si par exemple une recompilation est interrompue systématiquement à 62 % :
  • lancer en parallèle de WINDEV l'utilitaire Procmon,
  • configurer Procmon afin de montrer les entrées/sorties sur le dossier contenant le projet concerné :
  • renouveler le chargement du projet dans WINDEV,
  • lorsque le blocage se produit, dans Procmon l'élément concerné sera l'un des derniers qui aura été lu...

 

Ce guide de dépannage est exhaustif, attention de ne pas en "abuser" : si la moitié des secteurs d'un disque sont marqués défectueux, le remplacement du disque ainsi que la restauration d'une sauvegarde complète restent l'alternative la plus sûre...

 

< Retour