WinSave
Mit dieser Anweisung kann ein mit ``WinOpen() geöffnetes oder mit WinCreate() erstelltes Fenster-Objekt in der Datenbank oder extern gespeichert werden. Wurde das Objekt mit WinOpen() geöffnet, muss dies mit der Option _WinOpenLock gesperrt worden sein.
Als (obj) wird der Deskriptor des Fenster-Objekts übergeben, der von ``WinOpen() bzw. WinCreate() zurückgegeben wurde. Als Optionen stehen folgende Konstanten zur Verfügung:
-
_WinSaveDefault(0) - bestehendes Objekt nicht überschreibenDas Objekt wird unter dem in (alpha2) übergebenem Namen gespeichert. Existiert das Objekt bereits, wird der Fehler
_ErrExistszurückgegeben. -
_WinSaveOverwrite(1) - bestehendes Objekt überschreibenDas Objekt wird unter dem in (alpha2) angegebenem Namen gespeichert, auch dann, wenn ein gleichnamiges Objekt bereits existiert. Das entsprechende Objekt wird überschrieben.
-
_WinSaveRsc(0x20000) - Objekt als RSC-Datei speichernDas Objekt wird unter dem in (alpha2) angegebenen Pfad und Dateinamen gespeichert.
-
_WinSaveXml(0x10000) - Objekt als XML-Datei speichernDas Objekt wird unter dem in (alpha2) angegebenen Pfad und Dateinamen gespeichert.
Wird kein Name angegeben, wird der Name des Objekts (Eigenschaft Name) verwendet. Es wird nicht zwischen Groß- und Kleinschreibung unterschieden.
Der Rückgabewert der Anweisung kann mit folgenden Konstanten verglichen werden:
_ErrOk: Das Objekt wurde gespeichert (kein Fehler)._ErrNameInvalid: Der Name für das Objekt ist ungültig (Argument (alpha2))._ErrLocked: Das Objekt wird vom aktuellen Client im Designer editiert oder ist bereits durch_WinOpenLockgeöffnet._ErrExists: Ein Objekt unter diesem Namen existiert bereits in der Datenbank und_WinSaveOverwriteist nicht angegeben._ErrRights: Benutzerrechte nicht ausreichend._rDeadlock: Verklemmung aufgetreten
Beispiel:
tHdlFrm # WinOpen('Avi', _WinOpenDialog | _WinOpenLock | _WinOpenEventsOff);
tHdlFrm->wpCaption # 'Animation';
tErg # tHdlFrm->WinSave(_WinSaveDefault);
Mögliche Laufzeitfehler:
_ErrHdlInvalid: Der in (obj) übergebene Deskriptor ist ungültig, ist kein Fenster-Objekt oder nicht gesperrt._ErrValueInvalid: In (int1) ist ein ungültiger Wert übergeben worden. Der Fehler wird auch zurückgegeben, wenn_WinSaveRscund_WinSaveXmlangegeben werden._ErrStringOverflow: In (alpha2) wurde ein Name mit mehr als40Zeichen übergeben.