PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Modification automatique
Modification automatique
Débuté par Fred REGNIER, 26 oct. 2005 10:23 - 9 réponses
Posté le 26 octobre 2005 - 10:23
Bonjour,

Je cherche désespéremment une solution pour détecter si les fichiers sont d'une version d'analyse antérieure et doivent etre mis à jour.

Bien evidemment, la modification automatique fait son travail lors de l'installation, mais selon les cas, comme par exemple une restauration de données de la part de l'utilisateur, les fichiers en place se retrouvent d'une version antérieure.

Quelqu'un peut-il m'aider?
Merci
Posté le 26 octobre 2005 - 10:52
salut !

On 26-Oct-2005, "Fred REGNIER" <regnier.frederic@laposte.net> wrote:

Bonjour,

Je cherche désespéremment une solution pour détecter si les fichiers sont
d'une version d'analyse antérieure et doivent etre mis à jour.

Bien evidemment, la modification automatique fait son travail lors de
l'installation, mais selon les cas, comme par exemple une restauration de
données de la part de l'utilisateur, les fichiers en place se retrouvent
d'une version antérieure.

Quelqu'un peut-il m'aider?
Merci



Peut ête en réinstallant le programme après la restauration ?

Bien à toi !
--
Marcel Berman
c/o Managing Business SPRL
Allée du Petit Paris, 11
B - 1410 - Waterloo
Tel : +32 2 351.60.64
Fax : +32 2 351.45.78
Gsm : +32 475.799.477
Posté le 26 octobre 2005 - 13:34
j'ai bien essayé de m'en satisfaire, mais mes clients ne sont malheureusement pas suffisament coopératifs pour cette manip.
Merci à toi.
Posté le 26 octobre 2005 - 13:58
Je pense que le but n'est pas de reinstaller...

Je suis confrontée au même problème ...

--
Meilleures salutations

Brigitte Moinot - Viti's
Posté le 26 octobre 2005 - 14:35
bonjour

voir peut etre l erreur générée 70016 et la fonction hsurerreur pour "debrancher" le fonctionnement automatique sur l erreur

bon dev
Posté le 26 octobre 2005 - 14:42
Salut,

lorsque la version de l'analyse d'un fichier n'est pas correcte, le fait
d'appeler une propriété du fichier (monfichier..repertoire par exemple),
cause une exception.
si tu "catch" l'exception, tu pourras te rende compte que la fonction
ExceptionInfo(errCode) retourne 72109.
Il est possible d'utiliser le programme WDModfic.exe en ligne de commande
pour mettre à jour les fichiers.
Dans l'aide sous wdmodfic, tu as les fichiers nécessaires pour l'utilisation
de WDModfic sur un poste client. Il te sera possible de l'utiliser avec une
ligne de commande et de mettre à jour le fichier problèmatique, sans causer
le plantage de ton application.

Donc à l'ouverture de ton projet (ou suite à la restauration d'un fichier de
sauvegarde), tu passes tous les fichiers de ton appli (HListeFichier)
tu testes la propriété
quand exception dans
monfichier..repertoire
faire
si ExceptionInfo(errCode) = 72109 alors
lanceappli("wdmodfic.exe avec les paramètres
nécessaires",exeActif,exeBloquant)
exceptionactive()
fin
fin

Mathieu
Posté le 29 octobre 2005 - 18:45
Excellent, je te remercie...

Fred
Posté le 03 novembre 2005 - 11:52
Voici le code
1.Tu dois avoir un répertoire nommé WDModFic dans lequel se trouve les
fichiers suivants:
WD90CPL.DLL,WD90HF.DLL,WD90OBJ.DLL,WD90Outil.wdk,WD90STD.DLL,WD90TRS.DLL
WD90WM.DLL,WDMod90.DLL,WDModFic.Exe,WD90IMG.DLL
2.Dans le répertoire EXE de ton projet, tu dois avoir le fichier de
description de ton analyse "NomAnalyse.wdd"

3.Voici la procedure, elle doit être executé avant tout accès aux fichiers
(HCréationSiInexistant("*") par exemple), par contre les fichiers doivent
être à la bonne place. Ce qui veut dire que si tu utilises la fonction
HChangeRep, tu doit le faire avant.

PROCEDURE VerifierVersionFic()
strWdModFic est une chaîne =
ComplèteRep(ComplèteRep(fRepExe())+"WDModFic")+"WDModfic.exe"
strTout est une chaîne
strFichier est une chaîne
iType est un entier
iCpt est un entier

strTout = HListeFichier()
iCpt = 1
strFichier = ExtraitChaîne(strTout,iCpt,RC)
TANTQUE strFichier <> EOT
QUAND EXCEPTION DANS
iType = {strFichier,indFichier}..Type
FAIRE
SI ExceptionInfo(errCode) = "72109" ALORS
strLanceAppli est une chaîne = strWdModFic+" -error /WDD=""%1""
/FILE=""%2"""
strLanceAppli =
ChaîneConstruit(strLanceAppli,fRepExe()+"\ModFic.wdd",fRepExe()+"\"+strFichier+".fic")
LanceAppli(strLanceAppli,exeActif,exeBloquant)
FIN
ExceptionActive()
FIN

iCpt++
strFichier = ExtraitChaîne(strTout,iCpt,RC)
FIN


Mathieu
Posté le 03 novembre 2005 - 12:54
Pourrais tu nos indiquer un code plus complet parceque je n'arrive pas à
mettre en place le tiens.

--
Meilleures salutations

Brigitte Moinot - Viti's
Posté le 04 novembre 2005 - 09:49
Merci pour ces précisions

--
Meilleures salutations

Brigitte Moinot - Viti's