Code : Tout sélectionner
Structure VOITURE
Marque.s
Model.s
EndStructure
Procedure Ford()
Static MaVoiture.VOITURE
MaVoiture\Marque = "Ford"
MaVoiture\Model = "Mondeo"
hWnd_InputBox = OpenWindow(#PB_Any, 0, 0, 300, 200, "Ma bagnole.", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break;Goto FinDeLaProcedure
EndSelect
ForEver
FinDeLaProcedure:
ProcedureReturn @MaVoiture
EndProcedure
*QuelleEstMaVoiture.VOITURE = Ford()
Debug *QuelleEstMaVoiture\Marque
Debug *QuelleEstMaVoiture\Model
Mais si sur la ligne 17, je remplace le Break par un Goto, le programme plante sur la ligne 22 avec l'erreur :
Accès mémoire invalide. (erreur d'écriture à l'adresse 0)
Pouvez-vous m'expliquer la raison de mon problème ? Je reconnais que le goto n'est pas joli, mais en réalité dans le vrai code, j'ai toute une gestion d'erreur d'où l'utilisation d'une étiquette pour sortir de la procédure.
Un grand merci par avance.
F.R.
