Aller au contenu principal
Version: Next

New shared object

New shared object {( propriété ; valeur {; propriété2 ; valeur2 ; ... ; propriétéN ; valeurN} )} : Object

ParamètreTypeDescription
propriétéTextNom de propriété à créer
valeurText, Date, Boolean, Pointer, Number, ObjectValeur de propriété
RésultatObjectNouvel objet partagé

Description

La commande New shared object crée un objet partagé vide ou pré-rempli et retourne sa référence. L'ajout et la modification de propriétés dans un objet partagé doivent être encadrés par une structure Utiliser...Fin utiliser, sinon une erreur est générée. La lecture d'une propriété hors Utiliser...Fin utiliser est toutefois possible.

Note : Pour plus d'informations sur les objets partagés, veuillez vous reporter à la page Objets partagés et collections partagées.

Si vous ne passez aucun paramètre, New shared object crée un objet partagé vide et retourne sa référence. Vous devez assigner cette référence à une variable 4D déclarée avec C_OBJECT.

Note : C_OBJECT déclare une variable de type Objet mais ne crée pas d'objet.

Optionnellement, vous pouvez pré-remplir le nouvel objet en passant une ou plusieurs paires propriété/valeur comme paramètres :

  • Dans le paramètre propriété, passez le libellé de la propriété à créer (jusqu'à 255 caractères). Notez que le libellé du paramètre propriété est sensible à la casse.
  • Dans le paramètre valeur, passez la valeur que vous souhaitez affecter à la propriété. Les objets partagés peuvent contenir les types de valeur suivants :
    • nombre (réel, entier long...). Les valeurs numériques sont toujours stockées sous forme de réels.
    • texte
    • boolean
    • date
    • heure (stockée sous forme de nombre de millisecondes - réel)
    • null
    • objet partagé(*)
    • collection partagée(*)
      Note : A la différence des objets standard (non partagés), les objets partagés ne peuvent pas contenir d'images, de pointeurs, ni d'objets ou collections qui ne sont pas partagé(e)s.

(*)Lorsqu'un objet partagé ou une collection partagée est ajouté(e) à un objet partagé, l'objet ou la collection ajouté(e) hérite du locking identifier de l'objet parent. Pour plus d'informations sur ce point, reportez-vous à la section A propos du locking identifier (comment fonctionnent les groupes partagés).

Exemple 1

Vous voulez créer un nouvel objet partagé prérempli :

 var $contact : Object
 $contact:=New shared object("name";"Smith";"firstname";"John")

Exemple 2

Vous souhaitez créer et modifier un objet partagé. La structure Utiliser...Fin utiliser doit être appelée pour cet objet :

 var $s_obj : Object
 $s_obj:=New shared object("prop1";"alpha")
 Use($s_obj)
    $s_obj.prop1:="omega"
 End use

Voir aussi

New object
New shared collection
Objets partagés et collections partagées

Propriétés

Numéro de commande1526
Thread safe