Navigation: click.EXE 4.0 Premium >

Objekte

Diese Seite drucken
Vorherige Seite Nächste Seite
Zurück zur Kapitelübersicht

Mit der Premium-Lizenz für click.EXE 4.0 ist es erstmals möglich, eigene Objekte zu erstellen und diese in einer objektorientierten Weise einzusetzen (OOP, Objektorientierte Programmierung).

Siehe auch: Beispiel-Objekt

 

Ein in click.EXE erstelltes Objekt stellt dem Hauptskript einen neuen Platzhalterbereich ([Objektname.X]) zur Verfügung, der wahlweise mit einem Index bzw. einer ID (Instanz-ID) versehen werden kann ([Objektname(ID).X]), ähnlich wie diverse click.EXE-eigene Platzhalterbereiche wie [Stapel(ID).X]. Welche Eigenschaften X hier zur Verfügung stehen und ob diese gelesen und/oder geschrieben werden können, wird im Code des Objekts definiert. Objekte mit unterschiedlichen IDs sind von einander völlig unabhängig, verfügen also über eigene Variablenspeicher, welche während der gesamten Lebensdauer des Objekts existieren.

 

Lebensdauer:

Es existiert eine spezielle, von click.EXE selbst verwaltete Eigenschaft namens ._Zerstören (s.u.), welche gesetzt wird, um das Objekt zu zerstören. Hierdurch wird dessen Stopp-Ereignis aufgerufen und seine privaten Variablen gelöscht. Ein erneuter Aufruf einer seiner Eigenschaften erstellt danach das Objekt wieder komplett neu.

Die Lebensdauer eines Objekts ist, abgesehen von der manuellen Zerstörung, abhängig von der Lebensdauer des Skriptteils, welches es instanziert hat. Ein in einem normalen Skript verwendetes Objekt lebt bis zum Beenden des Skripts. Wird das Objekt jedoch innerhalb eines externen Skripts mit eigenem Variablenspeicher oder gar in einem anderen Objekt instanziert, wird es mit dem Ende dieses Makros bzw. der Zerstörung des Mutterobjekts ebenfalls zerstört.

 

Die innerhalb des Objekts verwendeten Variablen liegen in einem eigenen Speicher und sind daher völlig unabhängig von denen des Hauptskripts. Um auf Variablen des Mutterskripts (das aufrufende Skript) oder des Hauptskripts (das Skript, welches vom Anwender gestartet wurde) zuzugreifen, kann Muttervariablen. bzw. Hauptvariablen. vor den Variablennamen gesetzt werden.

 

Spezielle, vom System vorgegebene Eigenschaften aller Objekte sind:

._IDID der Objektinstanz (etwa "ObjID", wenn per [Objektname(ObjID).X] angesprochen)
._NameObjektname
._ZerstörenSetzen, um das Objekt zu zerstören

 

 

Aufbau eines Objekts:

Ein Objekt wird innerhalb zweier spezieller Marken erstellt, die Anfang und Ende des Objektcodes sowie dessen Namen definieren:

 

:: Objekt(Objektname)_Start

 

:: Objekt(Objektname)_Ende

 

Diese Marken werden weder aufgerufen noch vom Programmfluss berührt, sondern dienen nur als Definitionen.

 

Innerhalb dieses Objektcodes wird die Funktionalität des Objekts ausschließlich in Form von Unterprogrammen ralisiert. Hierbei gibt es drei verschiedene mögliche Arten:

 

:: Objektname_Start

:: Objektname_Stopp

Diese beiden Unterprogramme werden bei der Erstellung (Instanzierung) bzw. der Zerstörung eines Objekts aufgerufen. Hier können Initialisierungen bzw. Aufräumarbeiten durchgeführt werden.

 

:: Objektname_Eigenschaft_Lesen

:: Objektname_Eigenschaft_Schreiben

Mit diesen beiden Unterprogrammen wird das Lesen bzw. Schreiben einer Eigenschaft definiert. Wird eines der beiden weggelassen, kann die Eigenschaft lediglich geschrieben bzw. gelesen werden - je nachdem, welche Funktion implementiert ist.

Beim Lesen eines Eigenschaftswertes wird das Ergebnis im Zurück-Befehl als Rückgabeparameter übergeben.

Beim Schreiben einer Eigenschaft findet sich im Platzhalter [Eigenschaftsname_Wert] der geschriebene Wert.

Es können auch beim Aufruf weitere Parameter angegeben werden, die innerhalb des Unterprogramms ausgewertet werden können. Die Art und Weise der Parameterdefinition und -Auswertung entspricht derjenigen in den Eigenen Funktionen.

 

Mit dem Objektnamen DiesesObjekt kann aus einem Objekt heraus auf die eigenen Eigenschaften zugegriffen werden, etwa [DiesesObjekt.MeineEigenschaft]. Es kann auch die reine Textversion der Eigenschaften per [DiesesObjekt.MeineEigenschaft] verwendet werden.

 

:: Objektname_FesteEigenschaften_Lesen

Hier können mehrere Eigenschaften als Liste im Zurück-Befehl unter "Rückgabe" angegeben werden (z.B. !Beschreibung=xyz)

 

Hinweis: Ein Objekt in click.EXE verfügt nicht wie in anderen Sprachen über "Methoden", jedoch können diese leicht als Eigenschaften ausgeführt werden.

 

Ereignisse:

Ein Objekt kann während der Verarbeitung aus Ereignisse auslösen, wobei eine bestimmte Unterprogramm-Marke im Hauptskript aufgerufen wird. Hierzu muss beim Aufruf der Ereignismarke das Schlüsselwort Ereignis: hinzugefügt werden. Soll also beispielsweise von einem Objekt namens MeinObjekt das Ereignis MeinEreignis ausgelöst werden, wird im Objekt ein Aufruf-Befehl mit dem Ziel Ereignis: MeinEreignis eingesetzt. Im Hauptskript kann dieses Ereignis mit der Marke ::MeinObjekt_MeinEreignis implementiert und bearbeitet werden, gefolgt von einem Zurück-Befehl. Ist diese Marke nicht im Hauptskript enthalten, geschieht nichts.

 

 

Hinweis: Innerhalb von Objekten darf kein Warte Endlos vorkommen. Andere Warte-Befehle müssen als Exklusiv markiert sein.

 

 


cX-Webseite: http://www.clickexe.de