4D Write Pro: Méthode objet de la zone

Voici un extrait de la méthode objet (fournie par défaut) de la zone 4D Write Pro:

[]34442479;“Méthode pré-remplie par défaut…”[/]

J’aimerai des explications sur la ligne:
<code 4D>
Si (Non(Indéfinie($WP_areaPtr->)))

</code 4D>

A quoi sert-elle ?

Si le pointeur est définie par le code suivant:
<code 4D>
C_POINTEUR($WP_areaPtr) // Pointers on the area
C_TEXTE($WP_areaName)// “4DWritePro area” object name
$WP_areaName:=“WParea”
$WP_areaPtr:=OBJET Lire pointeur(Objet nommé;$WP_areaName)

</code 4D>

A quel moment arriverait-on à cette ligne ?

De plus, la commande Indéfinie provoque un warning en compilation.

my understanding is that the code style is exclusively for interpreted mode.

And ?
Even in interpreted mode, when did the code arrive to this row ?

also,

Si(Non(Indéfinie($WP_areaPtr->)))

can be rewritten as

If(Type($WP_areaPtr->)=Is undefined)


it is quite possible that data source is a non-variable expression, such as Form.wpArea,
in which case a pointer dereference would not work.

Test this code in interpreted mode :

<code 4D>
C_POINTEUR($WP_areaPtr)
$WP_areaPtr:=OBJET Lire pointeur(Objet nommé;“toto”)
C_BOOLÉEN($toto)
$toto:=Pointeur nil($WP_areaPtr)

</code 4D>

even these is NO “toto” zone $toto is always TRUE !

So the condition :

<code 4D>
Si ((Non(Pointeur nil($WP_areaPtr))) & (Non(Pointeur nil($WP_widgetPtr))))

</code 4D>
Is always FALSE :roll: