Bonjour,
J'ai créé 2 applications:
- la première (INSTALL) permet de vérifier que la seconde (PRGM) est à jour sinon elle met ses fichiers à jour puis execute la seconde application
- la seconde (PRGM) vérifie des dates de fichiers.
Lorsque je compile ma première application, cela fonctionne parfaitement
Idem avec la seconde.
Si je crée un exécutable des 2 logiciels, et que j'exécute INSTALL, il met à jour PRGM puis l'exécute.
A l'éxécution, PRGM commence à comparer les dates de fichiers puis une erreur apparait alors que je n'ai jamais eu cette erreur en simple compilation. Et si j'exécute PRGM sans passer par INSTALL, je n'ai pas d'erreur non plus.
Voici l'erreur renvoyée:
Erreur à la ligne 28 du traitement Procédure globale VerifLogicielUtilise.
Vous avez appelé la fonction DateDifférence.
Date invalide. Le format d'une date est AAAAMMJJ.
**********************************************
Informations techniques
Projet : PRGM
Dump de l'erreur du module <WD80STD.DLL> <8.00Ehm>.
- Appel WL :
Traitement de <Procedures globales de PRGM.VerifLogicielUtilise>, ligne <28>, thread <0>
Fonction <DateDifférence>, n° de syntaxe <0>
- Niveau : erreur fatale (EL FATAL)
- Code erreur : 80134
- Code erreur WD55 : 0
- Pas de code d'erreur système
- Pas de message d'erreur système
- Que s'est-il passé ?
Date invalide. Le format d'une date est AAAAMMJJ.
- Pas d'info de debug
- Infos attachées :
EIT DATEHEURE : 16/05/2007 16:38:25
EIT PILEWL :
Procédure globale VerifLogicielUtilise (Procedures globales de PRGM.VerifLogicielUtilise), ligne 28
Procédure globale AttribuerConfigPoste (Procedures globales de PRGM.AttribuerConfigPoste), ligne 111
Initialisation de PRGM (), ligne 80
- Pas d'identifiant dans le .err
Voici la procédure qui génère l'erreur: (la ligne incriminée est celle que j'ai encadrée avec des *****)
PROCEDURE VerifLogicielUtilise(dateDerAcces, dureeDeNonUtilisation)
dateDernierAcc est une Date = "00000000"
dateActuelle est une Date = DateSys()
difference est une entier
chaineBidon est une chaîne
dateDernierAcc = ChaîneVersDate(dateDerAcces)
SI (DateValide(dateDernierAcc) = Faux) ET (dateDernierAcc <> "00000000") ALORS
dateDernierAcc = ChaîneVersDate(dateDernierAcc)
FIN
SI dateDernierAcc = "00000000" ALORS
chaineBidon = dateActuelle
difference = chaineBidon
SINON
//**********************************************************
difference = DateDifférence(dateDernierAcc, dateActuelle)
//**********************************************************
FIN
SI difference < dureeDeNonUtilisation ALORS
RENVOYER 1
SINON
RENVOYER 0
FIN
Est-ce que quelqu'un aurait une idée de la cause de cette erreur et comment y remédier?
Nicolas ROBIN