Syntaxe
Indique si un handle désigne encore quelque chose, pour pouvoir utiliser GetRef() et SetRef() sans risque.
IsRef(<handle>)Les éléments
| <handle> | N’importe quelle valeur. En général une variable AS HANDLE. |
|---|
Rend
TRUE si le handle est utilisable. FALSE après ReleaseRef(), après le DELETE de l’enregistrement qui contient la cible, pour une variable HANDLE jamais affectée, et pour toute valeur qui n’est pas un handle. N’arrête jamais le programme.
À savoir
- Le résultat vaut
TRUEouFALSE, pas 1 ou 0.IF IsRef(h) = 1est toujours faux. ÉcrivezIF IsRef(h),IF NOT IsRef(h)ou= TRUE. Str(IsRef(h)) affichetrueoufalse. - Les copies d’un handle partagent son état : après
h2 = hetReleaseRef(h),IsRef(h2)est faux aussi. - Un handle vers une entrée de table reste vrai après que DeleteMapElement() a supprimé cette entrée.
Exemple
hp AS integer = 100link AS HANDLEIF NOT IsRef(link) THEN Console("empty") ' emptylink = @hpIF IsRef(link) THEN Console("linked") ' linkedReleaseRef(link)IF NOT IsRef(link) THEN Console("released") ' releasedDans le manuel : Fonctions