Bonjour, une petite question (oui encore, vous verrez que dans moins
de 10 ans c'est qui pourrait r=E9pondre =E0 celles des autres ...) :
J'ai r=E9ussi a cr=E9er des sauvegardes, une belle installation avec
WDinst qui me met en plus de mon appli des fichiers et des truc dont
le WDModFic.
Si je recharge une de mes anciennes sauvegardes sur un nouvel
executable, j'ai le probl=E8me de la version de l'analyse. Apr=E8s avoir
d=E9cortiquer l'aide, je pense arriver a utiiser en ligne de cde le
WDModFic, mais je n'arrive pas a faire comnprendre a mon appli de
controler le versionning entre les fichiers r=E9import=E9s et que je
d=E9sire mettre a niveau et ceux attendus par mon application.
Doit-on attendre une erreur et la g=E9rer, ou ne serait-ce pas plus
=E9l=E9gant de g=E9rer le tout avant ?
"wd_newbie" a écrit dans le message de news: Bonjour, une petite question (oui encore, vous verrez que dans moins de 10 ans c'est qui pourrait répondre à celles des autres ...) :
J'ai réussi a créer des sauvegardes, une belle installation avec WDinst qui me met en plus de mon appli des fichiers et des truc dont le WDModFic.
Si je recharge une de mes anciennes sauvegardes sur un nouvel executable, j'ai le problème de la version de l'analyse. Après avoir décortiquer l'aide, je pense arriver a utiiser en ligne de cde le WDModFic, mais je n'arrive pas a faire comnprendre a mon appli de controler le versionning entre les fichiers réimportés et que je désire mettre a niveau et ceux attendus par mon application.
Doit-on attendre une erreur et la gérer, ou ne serait-ce pas plus élégant de gérer le tout avant ?
Merci d'avance pour vos lumières
Olivier
Il y a plus simple mais une solution "didactique" consiste à tester l'ouverture des fichiers HF pour voir si une erreur liée à la structure est générée.
Pour ce faire, en début de projet, c'est-à-dire dans le code INIT du projet et avant toute manipulation des fichiers HF bien sur, tu places quelques lignes de code dont le but sera de tester l'ouverture des fichiers HF et, en cas de problème de structure, de lancer WDModFic en ligne de commande.
Donc, admettons que ton projet exploite 15 fichiers HF, soient: FICHIER1.FIC FICHIER2.FIC FICHIER3.FIC FICHIER4.FIC FICHIER5.FIC ... ... FICHIER15.FIC
Admettons également que ces 15 fichiers HF soient placés dans le dossier "RepDonnes".
Le code peut ressembler à ceci.
ResultatTest est un booléen ChaineProvisioire est une chaîne i,j sont des entiers
ResultatTestúux POUR i=1 A 15 H.ErrIgnore = Vrai // H.ErrIgnore est positionné à Vrai pour que les erreurs // n'arrêtent pas l'exécution du programme.
SI fFichierExiste(RepDonnes+"FICHIER"+i+".FIC")=Vrai ALORS ChaineProvisioire="FICHIER"+i HOuvre(ChaineProvisioire) H.ErrIgnore = Faux // H.ErrIgnore est repositionné à faux j=HErreur(hErrEnCours) SI PAS HErreurBlocage() ALORS SELON j CAS 70016 : ResultatTest=Vrai;SORTIR CAS 72109 : ResultatTest=Vrai;SORTIR AUTRES CAS : // Rien FIN FIN FIN FIN
H.ErrIgnore = Faux // On replace l'instruction ici pour la cas où // il n'y aurait pas de fichier HF
SI ResultatTest=Vrai ALORS // Si ResultatTest est à vrai, alors cela veut dire qu'il y a // eu une erreur à l'ouverture d'un fichier, donc il faut // mettre à jour la structure via WDmodfic // Le nom du fichier est contenu dans "ChaineProvisioire". FIN
Voilà. Si tu effectues des modifications au niveau du cryptage des fichiers HF entre les versions de l'analyse, tu dois également tester les fichiers sur la propriété nomdufichier..CryptageFic Concernant l'erreur 72109, il peut être intéressant de la traiter car il me semble qu'elle peut être rencontrée quand il y a un problème sur la structure des fichiers HF.
A+
Val
Bonjour
"wd_newbie" <wd_newbie@romandie.com> a écrit dans le message
de news: 1181651424.405248.189670@i38g2000prf.googlegroups.com...
Bonjour, une petite question (oui encore, vous verrez que dans moins
de 10 ans c'est qui pourrait répondre à celles des autres ...) :
J'ai réussi a créer des sauvegardes, une belle installation avec
WDinst qui me met en plus de mon appli des fichiers et des truc dont
le WDModFic.
Si je recharge une de mes anciennes sauvegardes sur un nouvel
executable, j'ai le problème de la version de l'analyse. Après avoir
décortiquer l'aide, je pense arriver a utiiser en ligne de cde le
WDModFic, mais je n'arrive pas a faire comnprendre a mon appli de
controler le versionning entre les fichiers réimportés et que je
désire mettre a niveau et ceux attendus par mon application.
Doit-on attendre une erreur et la gérer, ou ne serait-ce pas plus
élégant de gérer le tout avant ?
Merci d'avance pour vos lumières
Olivier
Il y a plus simple mais une solution "didactique" consiste à tester
l'ouverture des fichiers HF pour voir si une erreur liée à la structure est
générée.
Pour ce faire, en début de projet, c'est-à-dire dans le code INIT du projet
et avant toute manipulation des fichiers HF bien sur, tu places quelques
lignes de code dont le but sera de tester l'ouverture des fichiers HF et, en
cas de problème de structure, de lancer WDModFic en ligne de commande.
Donc, admettons que ton projet exploite 15 fichiers HF, soient:
FICHIER1.FIC
FICHIER2.FIC
FICHIER3.FIC
FICHIER4.FIC
FICHIER5.FIC
...
...
FICHIER15.FIC
Admettons également que ces 15 fichiers HF soient placés dans le dossier
"RepDonnes".
Le code peut ressembler à ceci.
ResultatTest est un booléen
ChaineProvisioire est une chaîne
i,j sont des entiers
ResultatTestúux
POUR i=1 A 15
H.ErrIgnore = Vrai
// H.ErrIgnore est positionné à Vrai pour que les erreurs
// n'arrêtent pas l'exécution du programme.
SI fFichierExiste(RepDonnes+"FICHIER"+i+".FIC")=Vrai ALORS
ChaineProvisioire="FICHIER"+i
HOuvre(ChaineProvisioire)
H.ErrIgnore = Faux
// H.ErrIgnore est repositionné à faux
j=HErreur(hErrEnCours)
SI PAS HErreurBlocage() ALORS
SELON j
CAS 70016 : ResultatTest=Vrai;SORTIR
CAS 72109 : ResultatTest=Vrai;SORTIR
AUTRES CAS : // Rien
FIN
FIN
FIN
FIN
H.ErrIgnore = Faux
// On replace l'instruction ici pour la cas où
// il n'y aurait pas de fichier HF
SI ResultatTest=Vrai ALORS
// Si ResultatTest est à vrai, alors cela veut dire qu'il y a
// eu une erreur à l'ouverture d'un fichier, donc il faut
// mettre à jour la structure via WDmodfic
// Le nom du fichier est contenu dans "ChaineProvisioire".
FIN
Voilà.
Si tu effectues des modifications au niveau du cryptage des fichiers HF
entre les versions de l'analyse, tu dois également
tester les fichiers sur la propriété nomdufichier..CryptageFic
Concernant l'erreur 72109, il peut être intéressant de la traiter car il me
semble qu'elle peut être rencontrée quand il y a un problème sur la
structure des fichiers HF.
"wd_newbie" a écrit dans le message de news: Bonjour, une petite question (oui encore, vous verrez que dans moins de 10 ans c'est qui pourrait répondre à celles des autres ...) :
J'ai réussi a créer des sauvegardes, une belle installation avec WDinst qui me met en plus de mon appli des fichiers et des truc dont le WDModFic.
Si je recharge une de mes anciennes sauvegardes sur un nouvel executable, j'ai le problème de la version de l'analyse. Après avoir décortiquer l'aide, je pense arriver a utiiser en ligne de cde le WDModFic, mais je n'arrive pas a faire comnprendre a mon appli de controler le versionning entre les fichiers réimportés et que je désire mettre a niveau et ceux attendus par mon application.
Doit-on attendre une erreur et la gérer, ou ne serait-ce pas plus élégant de gérer le tout avant ?
Merci d'avance pour vos lumières
Olivier
Il y a plus simple mais une solution "didactique" consiste à tester l'ouverture des fichiers HF pour voir si une erreur liée à la structure est générée.
Pour ce faire, en début de projet, c'est-à-dire dans le code INIT du projet et avant toute manipulation des fichiers HF bien sur, tu places quelques lignes de code dont le but sera de tester l'ouverture des fichiers HF et, en cas de problème de structure, de lancer WDModFic en ligne de commande.
Donc, admettons que ton projet exploite 15 fichiers HF, soient: FICHIER1.FIC FICHIER2.FIC FICHIER3.FIC FICHIER4.FIC FICHIER5.FIC ... ... FICHIER15.FIC
Admettons également que ces 15 fichiers HF soient placés dans le dossier "RepDonnes".
Le code peut ressembler à ceci.
ResultatTest est un booléen ChaineProvisioire est une chaîne i,j sont des entiers
ResultatTestúux POUR i=1 A 15 H.ErrIgnore = Vrai // H.ErrIgnore est positionné à Vrai pour que les erreurs // n'arrêtent pas l'exécution du programme.
SI fFichierExiste(RepDonnes+"FICHIER"+i+".FIC")=Vrai ALORS ChaineProvisioire="FICHIER"+i HOuvre(ChaineProvisioire) H.ErrIgnore = Faux // H.ErrIgnore est repositionné à faux j=HErreur(hErrEnCours) SI PAS HErreurBlocage() ALORS SELON j CAS 70016 : ResultatTest=Vrai;SORTIR CAS 72109 : ResultatTest=Vrai;SORTIR AUTRES CAS : // Rien FIN FIN FIN FIN
H.ErrIgnore = Faux // On replace l'instruction ici pour la cas où // il n'y aurait pas de fichier HF
SI ResultatTest=Vrai ALORS // Si ResultatTest est à vrai, alors cela veut dire qu'il y a // eu une erreur à l'ouverture d'un fichier, donc il faut // mettre à jour la structure via WDmodfic // Le nom du fichier est contenu dans "ChaineProvisioire". FIN
Voilà. Si tu effectues des modifications au niveau du cryptage des fichiers HF entre les versions de l'analyse, tu dois également tester les fichiers sur la propriété nomdufichier..CryptageFic Concernant l'erreur 72109, il peut être intéressant de la traiter car il me semble qu'elle peut être rencontrée quand il y a un problème sur la structure des fichiers HF.
A+
Val
JeAn-PhI
wd_newbie a émis l'idée suivante :
Bonjour, une petite question (oui encore, vous verrez que dans moins de 10 ans c'est qui pourrait répondre à celles des autres ...) :
J'ai réussi a créer des sauvegardes, une belle installation avec WDinst qui me met en plus de mon appli des fichiers et des truc dont le WDModFic.
Si je recharge une de mes anciennes sauvegardes sur un nouvel executable, j'ai le problème de la version de l'analyse. Après avoir décortiquer l'aide, je pense arriver a utiiser en ligne de cde le WDModFic, mais je n'arrive pas a faire comnprendre a mon appli de controler le versionning entre les fichiers réimportés et que je désire mettre a niveau et ceux attendus par mon application.
Doit-on attendre une erreur et la gérer, ou ne serait-ce pas plus élégant de gérer le tout avant ?
Merci d'avance pour vos lumières
Olivier
bonjour
voici une solution qui fonctionne à merveille merci au concepteur
Bonjour, une petite question (oui encore, vous verrez que dans moins
de 10 ans c'est qui pourrait répondre à celles des autres ...) :
J'ai réussi a créer des sauvegardes, une belle installation avec
WDinst qui me met en plus de mon appli des fichiers et des truc dont
le WDModFic.
Si je recharge une de mes anciennes sauvegardes sur un nouvel
executable, j'ai le problème de la version de l'analyse. Après avoir
décortiquer l'aide, je pense arriver a utiiser en ligne de cde le
WDModFic, mais je n'arrive pas a faire comnprendre a mon appli de
controler le versionning entre les fichiers réimportés et que je
désire mettre a niveau et ceux attendus par mon application.
Doit-on attendre une erreur et la gérer, ou ne serait-ce pas plus
élégant de gérer le tout avant ?
Merci d'avance pour vos lumières
Olivier
bonjour
voici une solution qui fonctionne à merveille merci au concepteur
Bonjour, une petite question (oui encore, vous verrez que dans moins de 10 ans c'est qui pourrait répondre à celles des autres ...) :
J'ai réussi a créer des sauvegardes, une belle installation avec WDinst qui me met en plus de mon appli des fichiers et des truc dont le WDModFic.
Si je recharge une de mes anciennes sauvegardes sur un nouvel executable, j'ai le problème de la version de l'analyse. Après avoir décortiquer l'aide, je pense arriver a utiiser en ligne de cde le WDModFic, mais je n'arrive pas a faire comnprendre a mon appli de controler le versionning entre les fichiers réimportés et que je désire mettre a niveau et ceux attendus par mon application.
Doit-on attendre une erreur et la gérer, ou ne serait-ce pas plus élégant de gérer le tout avant ?
Merci d'avance pour vos lumières
Olivier
bonjour
voici une solution qui fonctionne à merveille merci au concepteur
J'ai créé un petite procédure en me basant un peu sur les deux réponses (merci de votre aide !) :
J'ai mis le HcréationSiInexistant() dans un procédure au démarrage de l'application : Elle a l'air de fonctionner au poil, je la poste ici , si ça peut aider quelqu'un et si vous voyez des énormités dans mon code
Amicalement
Olivier
PROCEDURE tester_fichiers()
QUAND EXCEPTION // gérer les erreurs de version d'analyse SI ExceptionInfo(errCode) = 70016 ALORS // aviser les utilisateurs sMessage est une chaîne sMessage=[ L'application et la base données n'ont pas la même structure, ceci provient généralement d'une mise à jour du logiciel ou du rechargement d'une ancienne sauvegarde de données. Le programme va tenter de convertir la structure des données pour la rendre compatible. ] Erreur(sMessage)
// utiliser WDModFic ---------------- sCheminWDModFic,sCheminAnalyse,sCheminFichiers,sLigneDeCommande est une chaîne sCheminWDModFic üheminCourt( ComplèteRep(gsRepApplication) + "WDModFic.exe") sCheminAnalyse = fCheminCourt(ComplèteRep(gsRepApplication) + "monApplication.wdd") sCheminFichiers = fCheminCourt(gsFichierGlobal) // globale qui contient le chemin des fichiers
// passer en ligne de cde sLigneDeCommande = sCheminWDModFic + " -subdir -error /WDD=" + sCheminAnalyse + " /DIR=" + sCheminFichiers
SI LanceAppli(sLigneDeCommande,exeActif,exeBloquant)= Vrai ALORS Info("La mise à jour de la structure a été effectuée !") SINON Info("La mise à jour des données n'a pas réussi, consultez le manuel utilisateur pour tenter de convertir manuellement la base de données !") FinProgramme()
FIN //----------------------------------- FIN
FIN
HCréationSiInexistant("*") // créer les fichiers si ils n'existents pas
J'ai créé un petite procédure en me basant un peu sur les deux
réponses (merci de votre aide !) :
J'ai mis le HcréationSiInexistant() dans un procédure au démarrage de
l'application :
Elle a l'air de fonctionner au poil, je la poste ici , si ça peut
aider quelqu'un et si vous voyez des énormités dans mon code
Amicalement
Olivier
PROCEDURE tester_fichiers()
QUAND EXCEPTION
// gérer les erreurs de version d'analyse
SI ExceptionInfo(errCode) = 70016 ALORS
// aviser les utilisateurs
sMessage est une chaîne
sMessage=[
L'application et la base données n'ont pas la même structure, ceci
provient
généralement d'une mise à jour du logiciel ou du rechargement d'une
ancienne sauvegarde de données.
Le programme va tenter de convertir la structure des données pour
la rendre compatible.
]
Erreur(sMessage)
// utiliser WDModFic ----------------
sCheminWDModFic,sCheminAnalyse,sCheminFichiers,sLigneDeCommande est
une chaîne
sCheminWDModFic =fCheminCourt( ComplèteRep(gsRepApplication) +
"WDModFic.exe")
sCheminAnalyse = fCheminCourt(ComplèteRep(gsRepApplication) +
"monApplication.wdd")
sCheminFichiers = fCheminCourt(gsFichierGlobal) // globale qui
contient le chemin des fichiers
// passer en ligne de cde
sLigneDeCommande = sCheminWDModFic + " -subdir -error /WDD=" +
sCheminAnalyse + " /DIR=" + sCheminFichiers
SI LanceAppli(sLigneDeCommande,exeActif,exeBloquant)= Vrai ALORS
Info("La mise à jour de la structure a été effectuée !")
SINON
Info("La mise à jour des données n'a pas réussi, consultez le
manuel utilisateur pour tenter de convertir manuellement la base de
données !")
FinProgramme()
FIN
//-----------------------------------
FIN
FIN
HCréationSiInexistant("*") // créer les fichiers si ils n'existents
pas
J'ai créé un petite procédure en me basant un peu sur les deux réponses (merci de votre aide !) :
J'ai mis le HcréationSiInexistant() dans un procédure au démarrage de l'application : Elle a l'air de fonctionner au poil, je la poste ici , si ça peut aider quelqu'un et si vous voyez des énormités dans mon code
Amicalement
Olivier
PROCEDURE tester_fichiers()
QUAND EXCEPTION // gérer les erreurs de version d'analyse SI ExceptionInfo(errCode) = 70016 ALORS // aviser les utilisateurs sMessage est une chaîne sMessage=[ L'application et la base données n'ont pas la même structure, ceci provient généralement d'une mise à jour du logiciel ou du rechargement d'une ancienne sauvegarde de données. Le programme va tenter de convertir la structure des données pour la rendre compatible. ] Erreur(sMessage)
// utiliser WDModFic ---------------- sCheminWDModFic,sCheminAnalyse,sCheminFichiers,sLigneDeCommande est une chaîne sCheminWDModFic üheminCourt( ComplèteRep(gsRepApplication) + "WDModFic.exe") sCheminAnalyse = fCheminCourt(ComplèteRep(gsRepApplication) + "monApplication.wdd") sCheminFichiers = fCheminCourt(gsFichierGlobal) // globale qui contient le chemin des fichiers
// passer en ligne de cde sLigneDeCommande = sCheminWDModFic + " -subdir -error /WDD=" + sCheminAnalyse + " /DIR=" + sCheminFichiers
SI LanceAppli(sLigneDeCommande,exeActif,exeBloquant)= Vrai ALORS Info("La mise à jour de la structure a été effectuée !") SINON Info("La mise à jour des données n'a pas réussi, consultez le manuel utilisateur pour tenter de convertir manuellement la base de données !") FinProgramme()
FIN //----------------------------------- FIN
FIN
HCréationSiInexistant("*") // créer les fichiers si ils n'existents pas