[Résolu] Invalid Memory Access sur ProcedureReturn
Publié : mar. 31/août/2010 16:02
Bonjour à tous !
Sous PB 4.50, j'ai un code (beaucoup, beaucoup plus gros) grosso modo construit de cette manière :
Le ProcedureReturn ValeurRetour de la fonction génère une erreur Invalid Memory Access.
Il semble que le problème vienne du Goto dans Select...End Select car si on enlève Select...End Select, il n'y a plus d'erreur...
Or, ce Select m'est très utile car il me permet de faire un choix sur plus de 120 possibilités...
Est-ce un bug selon vous ???
Sous PB 4.50, j'ai un code (beaucoup, beaucoup plus gros) grosso modo construit de cette manière :
Code : Tout sélectionner
Procedure.i Fc_Procedure1(Arg.i)
Define.i ValeurRetour,Valeur
Repeat
Valeur+1
Select Arg
Case 3
If Valeur>500 And Arg=3:Goto Etiq_Fc_Procedure1_Erreur:EndIf
EndSelect
Until Valeur=1000
ValeurRetour=Valeur
Goto Etiq_Fc_Procedure1_Fin
Etiq_Fc_Procedure1_Erreur:
ValeurRetour=-3
Etiq_Fc_Procedure1_Fin:
ProcedureReturn ValeurRetour
EndProcedure
Procedure.i Fc_Procedure2()
Define.i ValeurRetour,Valeur
Repeat
Valeur+1
ValeurRetour=Fc_Procedure1(Valeur)
If ValeurRetour<0:Goto Etiq_Fc_Procedure2_Fin:EndIf
ForEver
Etiq_Fc_Procedure2_Fin:
ProcedureReturn ValeurRetour
EndProcedure
Debug Fc_Procedure2()
Il semble que le problème vienne du Goto dans Select...End Select car si on enlève Select...End Select, il n'y a plus d'erreur...
Or, ce Select m'est très utile car il me permet de faire un choix sur plus de 120 possibilités...
Est-ce un bug selon vous ???