DBmodifyObjectSettings

Top  Previous  Next

Ändern eines Objekts.

Objekte besitzen im Normalfall keine Eigenschaften, die nach der Erzeugung geändert werden müssen. Die wesentlichen Eigenschaften werden durch ihren Inhalt beschrieben, der sich mit entsprechenden Prozeduren ändern lässt, also z.B. die Objektschlüssel werden mit DBaddObjectKeys,... geändert. Der einzige Ausnahmefall tritt auf, wenn Objekte in dem Segment bearbeitet werden sollen, das die Symbole enthält. Bei diesen ist die Objekt-ID das Auswahlkriterium und muss vom Anwender vorgegeben werden können. Dies geschieht erst nach der Erzeugung der Objekte, eben mit DBmodifyObjectSettings. Die Prozedur darf selbstverständlich auch auf den normalen Segmenten angewendet werden, wenn der Anwender einen Bedarf dazu hat. Es lassen sich mit ihr einzeln die BlockId und die SystemId, ggf. auch beide zusammen ändern.

1.  Nur Ändern der Objekt-ID:

Das Objekt bekommt die neue ID, wenn diese nicht schon vergeben ist. die alte ID wird frei. Alle Zeiger und Gradis-IDs bleiben gültig. Die ID muss von 0 verschieden sein.

2.  Nur Ändern der Plan-ID:

Das Objekt wird dem neuen Plan zugewiesen, zu dem die neue ID gehört. Der Plan muss geladen sein. Er muss schreibbar sein. Wenn die Objekt-ID in diesem Plan schon existiert wird eine neue ID zugewiesen.

3.  Ändern von Plan-ID und Objekt-ID:

Das Objekt wird einem neuen Plan unter einer neuen Objekt-ID zugewiesen. Wenn die Objekt-ID schon existiert wird eine neue vergeben, ebenso wenn die angegebene Objekt-ID 0 ist. Der Plan muss geladen sein und schreibbar sein.

Parameter

object (POBJECT)                                     [IN]

Dies ist das Handle des Objekts, das verändert werden soll.

modifyFlags (int)                                         [IN]

Für jede mögliche Änderung ist in dieser Variablen ein Bit vorgesehen. Wenn dieses gesetzt ist, wird der entsprechende Wert geändert. Die zugehörigen Daten in settings müssen dann gültig sein. Es sind entsprechende Konstanten definiert, die bei mehreren gleichzeitigen Änderungen geodert werden können.

settings (OBJECT_SETTINGS *)             [IN]

In dieser Variablen sind die neuen Werte für das Objekt abgelegt. Es brauchen nur solche Werte gültig sein, die auch geändert werden sollen.

stufe (int)                                                      [IN]

reserviert, muss 1 sein. Wenn weitere Informationen eingeführt werden, werden diese über stufe unterschieden.

Ergebnis

(T_ERROR)                                            [OUT]

Als Fehlermeldungen werden entweder ERROR_OK oder eine der Meldungen aus error.h geliefert.

Deklaration

#include "database.h"

 

T_ERROR DLLENTRY DBmodifyObjectSettings (

     POBJECT              object,

     int                  modifyFlags,

     OBJECT_SETTINGS *    settings,

     int                  stufe

);

Konstanten

#define OBJECT_MODIFY_ID           1

#define OBJECT_MODIFY_FLAGS               2