Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Skript-Engine integrieren (https://www.delphipraxis.net/153978-skript-engine-integrieren.html)

I love Delphi 23. Aug 2010 17:39

Delphi-Version: 2006

Skript-Engine integrieren
 
Hallo Delphianer,
in den letzten Monaten habe ich die Grundlage für ein Lernspiel entwickelt, welches durch Skripts anpassbar sein soll. Allerdings bereitet gerade dies mir Kopf zerbrechen. Ich kenne keine Skript-Engine welche meinen Anforderungen (siehe unten!) entspricht, habe aber auch keine Ahnung wie ich so etwas selber schreiben sollte. Könne sollte sie folgendes:
- Funktionen und Prozeduren aufrufen (allerdings nur bestimmte)
- if-Bedingungen und while-Schleifen
- (kompatibel mit BDS 2006 Explorer)
- Zugriff auf Objekte und deren Attribute (ebenfalls nur bestimmte)
- Der Sprach Dialekt, bzw. die Syntax im allgemeinen ist mir egal. Mir wäre sowohl eine Pascal-, als aber auch eine JavaScript-Syntax recht

Da ich wie geasagt nix passendes kenne und bisher auch nicht gefunden habe nun meine Frage an Euch: Kennnt jemand eine passende Unit/Komponente, oder hat eine Idee wie man eine existierende Skript-Engine an diese Bedürfnisse anpassen könnte?

Würde mich über Beiträge sehr freuen!

Viele Grüße,
I love Delphi!

Florian Hämmerle 23. Aug 2010 18:41

AW: Skript-Engine integrieren
 
Tja alleine hier in der DP wurden in den letzten 12 Monaten 3 Skriptengines vorgestellt:

Von littleDave: Sygys-Skriptengine, SE2 (Hat alles was du dir wünschst :))
Von olee: RUTIS

Schau sie dir mal an

mfg Florian

mkinzler 23. Aug 2010 18:48

AW: Skript-Engine integrieren
 
Sonst halt Lua, Python, ...

Daniela.S 23. Aug 2010 19:01

AW: Skript-Engine integrieren
 
Oder Pascal Script

I love Delphi 23. Aug 2010 19:34

AW: Skript-Engine integrieren
 
Hallo,
also erstmal vielen Dank für Eure Antworten. Also Sysygys ScriptEngine kenne ich bereits und Pascal-Script habe ich mir auch gerade mal angeguckt. Allerdings habe ich bei beiden keinerlei Hinweise darauf gefunden, dass sich die Möglichkeiten auch einbschränken lassen. Zwar könnte man einfach das jeweilige Skript nach "verbotenen" Befehlen besuchen, da es ja jedoch fast unendlich viele Möglichkeiten gibt, wäre dies recht unsinnig. Man könnte es jedoch per "Whitelist" machen, allerdings wäre auch das sehr kompliziert. Weiß jemand von Euch also noch etwas zum Thema Beschränkung der Möglichkeiten? Ich möchte wie gesagt zum Beispiel nur, dass alle Methoden und Attribute eines bestimmten Objekts verfügbar sind.

Vielen Dank!

Mit freundlichen Grüßen,
I love Delphi!

Florian Hämmerle 23. Aug 2010 19:38

AW: Skript-Engine integrieren
 
Mit der SE2 von littleDave hat man nur Zugriff auf die Sachen, die du der Scriptengine zur Verfügung stellst. zB kannst du einen Button verfügbar machen, das Edit links davon aber nicht. Von Anfang an hat die SE2 keinen Zugriff auf dein Programm, erst wenn du ihr Sachen freigibst, kann sie darauf zugreifen.

mfg Florian

igel457 23. Aug 2010 19:40

AW: Skript-Engine integrieren
 
Wie verstehst du das mit dem Beschränken der Möglichkeiten? Ich weiß zwar nicht genau, wie das bei diesen Skriptengines gelöst ist, jedoch bin ich mir ziemlich sicher, dass die aufrufbaren Funktionen/Objekte/Typen zuvor bei der Engine registriert werden müssen. Solange du nicht die mitgelieferten Standardbibliotheken lädst, kannst du somit ganz genau bestimmen was getan werden darf und was nicht.

Lediglich die Funktionalität mancher Skriptsprachen externe Bibliotheken (DLLs) zu laden musst du irgendwie unterbinden.

Phoenix 23. Aug 2010 19:42

AW: Skript-Engine integrieren
 
Was PascalScript angeht kannst du da mal im Supportforum bzw. den Support newsgroups von RemObjects Nachfragen. Die Jungs da kennen sich aus ;)

littleDave 23. Aug 2010 20:12

AW: Skript-Engine integrieren
 
In meiner SEII kann man nur auf Objekte, Eigenschaften und Methoden zugreifen, die man selbst auch der Script-Engine zur Verfügung stellt.

Falls du meine Script-Engine ausprobieren willst, würde ich dir das PDF-File, welches sich in meinem Download befindet, empfehlen. Ich denke, dass es eine schnelle Übersicht über SEII geben sollte.

Von deiner Anforderungsliste wird von meiner Script-Engine alles Unterstützt - und sogar noch einiges mehr ;-)

I love Delphi 23. Aug 2010 20:33

AW: Skript-Engine integrieren
 
Hallo nochmal,
nochmals vielen Dank! Ich werde mich jetzt mal an littleDaves SEII "dran machen". Mein Kompliment an Dich, dass du sowas entwickelt hast :)
Wenn ich es eingebaut habe melde ich mich mal bei dir :D

Vielen Dank an Euch, ist echt ne tolle Community hier!

Viele Grüße,
I love Delph!


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:29 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz