QueryProperties()
*****************


FUNKTION
========

   mapping QueryProperties()


DEFINIERT IN
============

   /std/thing/properties.c


ARGUMENTE
=========

   keine


BESCHREIBUNG
============

   Diese Funktion liefert ein Mapping mit allen fuer das Objekt
   definierten Properties zurueck.


RUeCKGABEWERT
=============

   Ein Mapping mit den Properties. Das Mapping hat folgenden Aufbau:
      ([ name: wert; flags; set_method; query_method,
         name2: ... ]);


BEMERKUNGEN
===========

   - diese Funktion wird von restore_object() und save_object()
   - F_QUERY_METHODs und _query_'prop'()-Methoden haben keine Auswirkung
     auf die Wertefelder!


SIEHE AUCH
==========

   Aehnliches:        SetProp(L), QueryProp(L), Set(L), Query(L)
   Generell:          SetProperties(L)
   Konzept:           properties, /std/thing/properties.c

1.Mai 2004 Gloinson
