Bonjour,
j'ai repris depuis plus d'1 an une application VFP6 qui utilise une multitude de tables avec index structurel : fichiers DBF avec CDX du même nom associé (+ parfois un fichier FPT pour les mémos). J'avais déjà échangé avec MichelAtoutFox sur le sujet "erreur 26 lors de l'ouverture de fichiers de données", ce sujet n'a jamais vraiment été solutionné chez le client qui avait le problème de fichiers CDX qui disparaissent. La cause du phénomène n'a pas été identifiée (antivirus ?), j'ai contourné ce problème en régénérant automatiquement au lancement de mon programme les quelques fichiers qui n'existent parfois pas chez ce client.
J'ai depuis ce temps recompilé tous les programmes avec VFP9, même si ces nouvelles versions VFP9 ne sont pas encore installées chez tous les clients. Régulièrement, les utilisateurs (ceux qui ont les programmes VFP6 et aussi ceux qui ont les programmes VFP9) me signalent des erreurs 26 ou 2066 concernant diverses tables (rarement les mêmes).
Je ne sais pas si c'est l'application elle-même qui genère ces problèmes d'index (notamment par l'utilisation de nombreux alias sur des fichiers DBF en variables globales), ou si c'est une cause extérieure. Difficile de connaitre et reproduire l'origine de ce genre de problèmes, mais le résultat est que l'application semble structurellement instable en utilisation intensive.
N'étant pas expert FoxPro, je me demande si ce genre de problèmes arrive souvent avec des programmes FoxPro ou si mon application est un cas isolé.
Est-ce qu'une bonne pratique du développement FoxPro est de prévoir dans l'appli une régénération systématique des index en cas d'erreurs de ce type lors de chaque ouverture d'un fichier DBF ? Cela peut alors engendrer des temps de traitement très longs s'il y a beaucoup de données !
La quantité importante de fichiers DBF/CDX/FPT de mon application est-elle une partie de la cause de ces phénomènes ? Il semblerait notamment qu'un ratio nombre de fichiers / taille du répertoire très grand puisse être détecté comme problématique par certains antivirus, mais peut-être est-ce déjà problématique pour FoxPro lui-même ? (est-il conseillé de plutôt regrouper les tables dans un seul fichier DBC ?)
Merci de tout retour d'expérience.