Startseite › Foren › Deutsches LiveCode-Forum › Objekte als Variable › Antwort auf: Objekte als Variable
Hallo gfz,
die Antwort ist Ja und Nein. LiveCode ist objektorientiert, aber Du kannst nicht so wie in C++, Java oder Python mit LiveCode schnell Objekte erstellen, die genau auf gleicher Ebene wie die eingebauten Objekte funktionieren. Der Vorteil von LiveCode ist ja seine Einfachheit – indem die Objekte, die man normalerweise braucht, alle bereits eingebaut sind und zur sofortigen Verwendung bereitstehen. Die mitgelieferten Objekte sind in C++ geschrieben und können per LiveCode nur mit ihren vorhandenen Properties und Methoden verwendet werden. Zumindest im grundlegenden Ansatz. Es besteht ja durchaus die Möglichkeit, jedem Objekt eigene Properties hinzuzufügen (Custom Properties), und um mit diesen umzugehen, kannst Du ihnen auch setProp und getProp Methoden hinzufügen, die ausgeführt werden, wenn diese Custom Properties (oder auch vorhandene Properties) verändert bzw. ausgelesen werden.
Am nächsten kommst Du der Entwicklung eigener Objekte, indem Du eine Kombination mehrerer vorhandener Objekte nach Deinen eigenen Vorstellungen konfigurierst und zusammensetzt, indem Du daraus eine Group machst und dieser Group dann eigene Properties und Methoden zuweist. Die Group verhält sich dann wie ein eigenes Objekt, und Du kannst sie auch in anderen Projekten weiter verwenden oder sie bei Bedarf auch per Skript kopieren bzw. klonen (instanzieren). Der DataGrid zum Beispiel ist auch auf diesem Prinzip aufgebaut. Eine Anleitung für dieses Vorgehen gibt es in den LiveCode-Lessons hier (Entwicklung einer eigenen Scrollbar):
http://lessons.livecode.com/m/4071/l/22272-custom-controls
Zu guter Letzt kannst Du seit LiveCode 8 auch eigene Widgets entwickeln, die komplett in die LiveCode-Entwicklungsumgebung integriert werden können. Diese Widgets können in LiveCode-Builder oder auch in einer anderen Sprache entwickelt werden – aber dieses Thema erfordert einiges an Einarbeitung. Die Erstellung von voll funktionsfähigen Widgets ist leider nicht so simpel wie das normale Arbeiten in LiveCode.
Wenn es Dich interessiert, kannst Du gerne hier weiterlesen…
https://livecode.com/write-a-widget-in-8-steps/
oder hier:
https://livecode.com/topic/defining-a-widget/
Viel Spaß und Erfolg beim Programmieren!
Hauke