Bonjour,
Dans ma boite on est entrain de passer de COBOL V4 à la V5.2, et il y a un changement entre ces deux versions que je ne m'explique pas concernant les address de pointeur.
Voici le petit programme de test:
Compilé en V4 on a les résultats suivants:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 LINKAGE SECTION. 01 LK-PARM. 05 PIC X(50). 01 ZONE-TO-ADDRESS. 05 PIC X(50). PROCEDURE DIVISION USING LK-PARM. DISPLAY 'DEBUT-----------'. DISPLAY ' TEST A ' ADDRESS OF LK-PARM ' PARM :' LK-PARM(1:8). DISPLAY ' TEST B ' ADDRESS OF ZONE-TO-ADDRESS. SET ADDRESS OF ZONE-TO-ADDRESS TO NULL. DISPLAY ' TEST C ' ADDRESS OF ZONE-TO-ADDRESS. SET ADDRESS OF ZONE-TO-ADDRESS TO ADDRESS OF LK-PARM. DISPLAY ' TEST D ' ADDRESS OF ZONE-TO-ADDRESS. GOBACK.
Par contre compilé en V5.2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 DEBUT----------- TEST A 0000139264 PARM : ƒABCDEF TEST B 0000000000 TEST C 0000000000 TEST D 0000139264
On a franchement l'impression que les pointeurs ne fonctionnent pas , en fait il fonctionnent très bien j'ai vérifier gràce à un autre programme qui utilise les pointeur correctement avec autre chose que des display. Je pense qu'il s'agit du DISPLAY d'adress qui est différent en 5.2, mais je ne comprend pas comment il fonctionne pour autant .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 DEBUT----------- TEST A 0649707608 PARM : ƒABCDEF TEST B 0649707612 TEST C 0649707612 TEST D 0649707612
Avez vous des idées?
Merci d'avance,
Elie
Partager