Retour procedure avec un pointer

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
jph
Messages : 68
Inscription : dim. 17/juil./2022 16:02

Retour procedure avec un pointer

Message par jph »

Bonjour,

Dans le guide de PB en français on a un exemple de retour de procédure avec une adresse de pointer sur une structure. Ceci illustre la façon de retourner autre chose qu'un type de base avec une procédure.

Code : Tout sélectionner

Structure REPAS
	Dejeuner.s
	Diner.s
	Tea.s
EndStructure
Procedure.l GetRepas()
	Static Gary.REPAS
	Gary\dejeuner = "Cornflakes"
	Gary\Diner = "Sandwichs au fromage"
	Gary\Tea = "Spaghetti bolognaise"
	ProcedureReturn @Gary
EndProcedure
*Gary.REPAS = GetRepas()
Debug *Gary\dejeuner
Debug *Gary\Diner
Debug *Gary\Tea
Ma question est la suivante. Pourquoi le type de retour est un long au lieu d'être un int? Les long sont codés sur 4 octets et en 64 bits le type de retour devrait normalement être codé sur 8 octets comme un int ou un quad. Non? Est-ce que c'est faux d'écrire Procedure.i GetRepas() ou Procedure.q GetRepas()? Merci d'avance.
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Retour procedure avec un pointer

Message par Ollivier »

Ta ligne :

Code : Tout sélectionner

Procedure.l GetRepas()
indique un retour long. Enlève le trop...

Code : Tout sélectionner

Procedure GetRepas()
... Et ça donnera un entier.
jph
Messages : 68
Inscription : dim. 17/juil./2022 16:02

Re: Retour procedure avec un pointer

Message par jph »

Effectivemant je n'ai aucune erreur même quand je met Procedure.i. Il suffisait d'essayer. Je réfléchirai avant de poser une question à l'avenir. Merci pour la réponse.
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Retour procedure avec un pointer

Message par Ollivier »

jph a écrit :Je réfléchirai avant de poser une question à l'avenir.
Oui et non !

On découvre aussi des choses intéressantes par l'absurde !
Vu le code précédent, il y avait de la réflexion. Donc, bonne passion pour la prog à l'avenir. Merci aussi pour le retour.
Répondre