L'exécution d'un état crystal généré avec une version inférieure à la version V11 PTF5, mais exécuté avec un runtime Visual version V11 PTF5 ou supérieure, peut provoquer un arrêt brutal de l'application.
La cause :
Certaines zones utilisées dans l'état (dans une formule ou en liaison avec un sous état par exemple) ne sont pas explicitement placées dans l'état.
Explication :
A partir de la PTF05 d'Adélia Studio 11, des modifications ont été faites (dans le runtime Adélia) afin de détecter automatiquement toutes les zones placées sur un état.
Auparavant, il était demandé de placer explicitement toutes les zones à alimenter dans une section de l'état (par exemple les zones utilisées dans une formule, dans un une zone liée avec une constante, etc., devaient être placées sur l'état).
Depuis la PTF08 toutes les zones à alimenter sont automatiquement détectées (1.par le générateur et 2.par le runtime lors de l'exécution).
Les états qui n'avaient pas respecté les recommandations initiales peuvent désormais planter puisqu'une zone non détectée par le générateur peut désormais l'être par le runtime lors de l'exécution. Le déphasage pouvant engendrer un plantage.
Un utilitaire a été créé pour détecter le problème évoqué ci-dessus. L'utilitaire traite tous les états d'un répertoire donné et génère un rapport.
Outil :
Exemple de rapport produit :
------------------------------------------------------------------------------------------------------------------------ Commande : DetectNotValidCR.exe /dir:d:\hotline\Miele_FR /out:detectErr.log Date : 24/05/2012 Heure : 14:47:12 ------------------------------------------------------------------------------------------------------------------------ Liste des états traités : - MIPE6P.rpt * mainReport : [ERREUR] "_data.Z_NUM_ANN_LIG._DATA" non placée. [Parameter link to subreport "NUM_SERIE"] [ERREUR] "_data.Z_NUM_LIG._DATA" non placée. [Parameter link to subreport "NUM_SERIE"] Nb errors for this report/subreport : 2 * NUM_SERIE : OK Nombre d'erreurs pour l'état : 2 ------------------------------------------------------------------------------------------------------------------------ Fin du traitement Erreur de traitement = 0 Zones non placées = 2 Etats non valides = 1 sur un total de 1 états ------------------------------------------------------------------------------------------------------------------------
Articles connexes