4D v16.3OBJECT DUPLICATE |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
OBJECT DUPLICATE
|
OBJECT DUPLICATE ( {* ;} Objekt {; NeuerName {; NeueVar {; GehenZu {; BewegenH {; BewegenV {; AnpassenH {; AnpassenV}}}}}}} {; *} ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
* | Operator |
![]() |
Mit Stern: Objekt ist ein Objektname (String), Ohne Stern: Objekt ist Variable oder Feld |
|||||
Objekt | Formularobjekt |
![]() |
Objektname (mit *) oder Variable bzw. Feld (ohne *) | |||||
NeuerName | Text |
![]() |
Name des neuen Objekts | |||||
NeueVar | Zeiger |
![]() |
Zeiger auf Variable des neuen Objekts | |||||
GehenZu | Text |
![]() |
Name des vorigen eingebbaren Objekts (oder Optionsfeld) | |||||
BewegenH | Lange Ganzzahl |
![]() |
Horizontales Versetzen des neuen Objekts(>0 = nach rechts, <0 = nach links) | |||||
BewegenV | Lange Ganzzahl |
![]() |
Vertikales Versetzen des neuen Objekts (>0 = nach unten, <0 = nach oben) | |||||
AnpassenH | Lange Ganzzahl |
![]() |
Horizontale Anpassung des neuen Objekts | |||||
AnpassenV | Lange Ganzzahl |
![]() |
Vertikale Anpassung des neuen Objekts | |||||
* | Operator |
![]() |
Mit Stern = absolute Koordinaten Ohne Stern = relative Koordinaten |
|||||
Der Befehl OBJECT DUPLICATE erstellt eine Kopie des Objekts, definiert im Parameter Objekt. Die Kopie wird im Kontext des ausgeführten Formulars erstellt (Anwendungsmodus). Das Ausgangsformular im Designmodus wird nicht verändert.
Standardmäßig werden alle Optionen, die für das Ausgangsdokument in der Eigenschaftenliste angegeben werden, auf die Kopie angewendet (Größe, Farbe, etc.), inkl. einer zugewiesenen Objektmethode.
Es gibt jedoch folgende Ausnahmen:
Mit dem optionalen Parameter * geben Sie an, dass der Parameter Objekt ein Objektname ist (String). Ohne diesen Parameter geben Sie an, dass Objekt ein Feld oder eine Variable ist. In diesem Fall übergeben Sie ein Feld oder eine Variablenreferenz (nur Objektfeld oder -variable) anstelle eines String.
Übergeben Sie eine Feld- oder Variablenreferenz und enthält das Formular mehrere Objekte, die dieselbe Referenz nutzen, wird das erste gefundene Auftreten verwendet. Um Zweideutigkeiten zu vermeiden, empfehlen wir, einmalige Objektnamen zu verwenden.
Im Parameter NeuerName übergeben Sie den Namen für die Kopie eines Objekts. Er muss die Namensregeln für Objekte beachten und im Formular einmalig sein. Ist er ungültig oder wird bereits von einem anderen Objekt verwendet, führt der Befehl nichts aus und die Variable OK gibt 0 (Null) zurück.
Lassen Sie diesen Parameter weg oder übergeben einen leeren String, wird der neue Name automatisch durch Nummerierung des Namens des Ausgangsdokuments erzeugt, außer er wird bereits verwendet.
Hier ein paar Beispiele:
Ausgangsname | Name der Kopie |
Button | Button1 |
Button20 | Button21 |
Button21 | Button23 wenn Button22 bereits existiert |
Übergeben Sie einen Zeiger auf die Variable, die dem neuen Objekt in NeueVar übergeben wird. Dabei müssen Sie beachten, dass Sie auf eine Variable verweisen, die vom gleichen Typ wie die des Ausgangsobjekts ist. Bestimmte Arten von "Neutypisierung" sind jedoch möglich. Der Befehl bietet eine automatische Vorgehensweise, um das Schreiben von generischem Code zu vereinfachen:
Ist der Variablentyp nicht kompatibel mit dem Objekt, führt der Befehl nichts aus und die Variable OK wird auf 0 (Null) gesetzt.
Lassen Sie diesen Parameter weg, erstellt 4D die Variable dynamisch. Bei einigen Objekttypen wird diese Variable automatisch deklariert (sofern durch das Objekt bestimmt), bei anderen wird der Typ durch die erste Zuweisung bestimmt. Weitere Informationen dazu finden Sie im Abschnitt Dynamische Variablen. Duplizieren Sie ein statischen Objekt, z.B. Linie, Rechteck, statisches Bild, wird dieser Parameter ignoriert. Übergeben Sie einen Nil-Pointer (z. B. nicht initialisierte Pointer-Variable), wenn Sie die Möglichkeit haben wollen, die anderen Parameter zu benutzen.
Den Parameter GehenZu verwenden Sie in zwei Fällen:
Lassen Sie diesen Parameter weg oder übergeben einen leeren String, wird das neue Objekt das letzte eingebbare Objekt auf der Formularseite.
Über die Parameter BewegenH, BewegenV und AnpassenH, AnpassenV lässt sich das neue Objekt bewegen und in der Größe verändern. Wie beim Befehl OBJECT MOVE wird die Richtung zum Bewegen oder Anpassen durch die Vorzeichen der in BewegenH und BewegenV übergebenen Werte bestimmt:
Hinweis: Ist das Formularereignis On Load dem Ausgangsobjekt zugewiesen, wird es beim Ausführen des Befehls für das duplizierte Objekt erzeugt. So lässt sich z.B. der Wert des Objekts initialisieren.
Aus technischen und logischen Gründen lässt sich OBJECT DUPLICATE in folgenden Formularereignissen nicht aufrufen:
Wird der Befehl in einem nicht unterstützten Kontext aufgerufen, wird das Objekt nicht dupliziert und die Systemvariable OK wird auf 0 gesetzt. Bei Aufrufen in einem Druckkontext wird auch der Fehler -10601 aufgerufen.
Wurde der Befehl korrekt ausgeführt, wird die Variable OK auf 1 gesetzt, andernfalls auf 0 (Null).
Eine neue Schaltfläche "CancelButton" über dem vorhandenen Objekt "OKButton" anlegen und der Variablen vCancel zuweisen:
OBJECT DUPLICATE(*;"OKButton";"CancelButton";vCancel)
Ein neues Optionsfeld "bRadio6" auf Basis des vorhandenen Optionsfeldes "bRadio5" anlegen. Diese Schaltfläche wird der Variablen <>r6 zugewiesen, in die Gruppe von "bRadio5" integriert und 20 Pixel höher gesetzt:
OBJECT DUPLICATE(*;"bRadio5";"bRadio6";<>r6;"bRadio5";0;20)
Produkt: 4D
Thema: Objekte (Formulare)
Nummer:
1111
Erstellt: 4D v12
4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)