Einzelnen Beitrag anzeigen

choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 

Re: Ankündigung: FastScript 1.2

  Alt 9. Dez 2003, 08:46
Es gibt verschiedene Lösungen für diesen Bereich. Hier eine kurze Aufstellung (ohne Anspruch auf Vollständigkeit!):
  • paxscript, relativ einfach zu verwenden, unterstützt viele vereinfachende Sprachfeatures wie literale RegExp und verschiedene Sprachen (OPascal, C, JS)
  • Innerfuse Pascal Script III, eine der ältesten und erfahrensten Lösungen, wird ua bei InnoSetup eingesetzt und ist meines Wissens die einzige Lösung, die Interfaces (über IDispatch hinaus) unterstützt. Sehr gutes Konzept mit getrenntem Kompiler für Bytecode und Runtime-Units zum Ausführen von Scripts auch in verschiedenen Threads etc, allerdings nicht ganz einfach im Einstieg
  • FastScript (s.o.)
  • Scripter Studio scheint für "die schnelle Lösung zwischendurch" entwickelt worden zu sein, hierzu habe ich keine praktischen Erfahrungen
  • DelphiWebScript II, eine noch recht junge Lösung
  • Darüber hinaus ist es möglich mit dem WindowsScriptingHost (WSH) installierte Scriptsprachen, zB VBScript ausführen zu lassen und mit OleVariant, also auch IDispatch, Daten zu arbeiten.

Scriptsprachen eignen sich für viele Verschiedene Szenarien, generell steht wohl aber die leichte Veränderbarkeit von Programmlogik im Vordergrund. Mithilfe verschiedener Konzepte werden Informationen vom Host-Programm in die Scriptengine übertragen, um dort von einem Script verarbeitet zu werden. Das so berechnete Ergebnis kann dann im Host-Programm verwendet werden.
Die unterschiedlichen Lösungen erlauben es hierbei zT in Delphi erstellte Klassen und Exemplare zu verwenden, Variablen direkt zu mappen aber auch Klassen innerhalb des Skripts zu erweitern, und exemplare von ihnen anzulegen. Der Vorteil von Lösungen, die ohne den WSH arbeiten, liegt darin, dass die ScriptEngine und das Host-Programm oft besser miteinander kommunizieren können, und dabei idR die nativen Delphi-Datentypen verwenden können...
gruß, choose
  Mit Zitat antworten Zitat