Autor Beitrag
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Di 23.09.08 09:25 
Hallo,

da wir eines unserer Projekte um die Fähigkeit erweitern möchten Makros aus zu führen, versuche ich mir gerade einen Überblick über Scripting Komponenten zu verschaffen. Hierbei ist folgendes für mich wichtig:
  • Pascal ähnliche Script Sprache (da wir eine ähnliche Funktion in unserem Reporting Tool besitzen und wir dem Kunden keine völlig andere Sprache zumuten möchten).
  • Mächtiger funktionsumfang inklusive des Zugriffs auf Dateien und unsere Datenbank (ich nehme an, dass In- und Export-Makros eines der Haupt einsatzgebite sind).
  • Die Scripting Engine sollte mit eingelinkt werden, so dass keine weiteren Dateien mit ausgeliefert verden müssen.
  • Möglichst geringer Preis, da diese funktion wahrscheinlich nur von wenigen Nutzern angenommen wird, von denen aber wahrscheinlich häufig ;)


Mein momentaner Favorit ist das Pascal Script von RemObjects. Was mich hier aber momentan noch stört, ist dass ich scheinbar erst alle möglichen Funktionen bei der Engine registrieren muss, dammit sie zur verfügung stehen und nicht weiß wie der schon erreichbare Befehlssatz aussieht (ich konnte noch keine Befehlsübersicht finden). Woher soll ich wissen welche Befehle die user später mal nutzen möchten ;).

Deshlab habe ich zwei Fragen an euch:
  1. Kennt Ihr gute alternative Scripting Systeme, die meinen Anforderugnen genügen?
  2. Oder habt Ihr vielleicht eine Idee/Erfahrungen, wie ich möglichst einfach einen möglichst sinvollen Befehlssatz in die Engine von RemObjects bekomme, incl. Datei Handwerkszeug (FindFist, FileExist usw.) und Datenbankzugriff?


Gruß
Klabautermann
Calculon
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 676

Win XP Professional
Delphi 7 PE, Delphi 3 PRO
BeitragVerfasst: Di 23.09.08 09:34 
Hi,

alzaimar hatte hier mal einen dynamischen DLL Maker vorgestellt.

Nachteil:
Zitat:
Den DBCC kann man nicht weitergeben.

Aber wie er in dem Beitrag geschrieben hat, funktioniert das auch mit dem Free Pascal Compiler und den darf man weitergeben.

HTH, Gruß
--

_________________
Hallo Mutti
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Di 23.09.08 09:52 
Hab gute Erfahrungen mit FastScript von FastReports gemacht. RemObjects' PascalScript ging aus der Innerfuse Pascal Script Engine von Carlo Kok hervor, und die war unglaublich bescheuert programmiert.

Sehr interessant ist auch PaxScript (www.paxscript.com/) sowie das OS-Projekt 'DWS' (Delphi Web Script) bei SourceForge. Letzteres ist so gut wie sourcecodekompatibel und bringt schon diverse Bridges mit, um mit den SysUtils und Classes-Units zu arbeiten.

Ich kenne FastScript, den Vorgänger von PaxScript (PS selbst nicht) und DWS.

Mit DWS und FastScript statte ich meine Projekte aus, die Skriptunterstützung benötigen. DWS ist viel mächtiger, weil es alle Aspekte der OOP direkt im Interpreter umsetzt, FS dagegen schön simpel und kompakt.

PaxScript wäre eine Analyse wert, weil es den Scripting-Gedanken weiterspinnt: Wozu soll man denn Variablen deklarieren? Warum soll ich auf Datentypen achten? Ich weiss doch als Scriptprogrammierer meistens noch nicht mal, was das ist.

@Calculon: Danke, den Hinweis hab ich nicht mehr gefunden.

_________________
Na denn, dann. Bis dann, denn.
Klabautermann Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Di 23.09.08 10:07 
Hallo,
user profile iconCalculon hat folgendes geschrieben:
alzaimar hatte hier mal einen dynamischen DLL Maker vorgestellt.

das konzept ist von der Mächtigkeit des ganzen sicher unschlagbar, aber ich sehe da einige die man ziemlich aufwändig umschiffen müsste, so z.B. die möglichkeit über eine bestehende DB Verbindung aus dem Script auf die Datenbank zu zu greifen (die klienste Programmversion wird mit einem Embeddet Server der nur eine Connection erlaubt ausgeliefert). Von daher kommt diese Variante glaube ich nicht in frage.

Danke auch dir user profile iconalzaimar, ich werde mir die verschiedenen Systeme mal etwas genauer angucken. Bei DWS irretiert mich (ohne das ich es schon genauer betrachtet hätte) ein wenig der Name, bzw. die "Web" ausrichtung. In wie fern macht sich das bemerkbar, wenn ich es in einer klassischen Windows Anwendung einsetze? Muss ich z.B. zur ausgabe einen Browser einbetten oder lassen sich dort auch Klassische funktionen wie ShowMessage einstzen.

Auf jeden Fall habe ich erst einmal etwas zu gucken ;). Danke dafür!
Klabautermann
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Di 23.09.08 10:15 
user profile iconKlabautermann hat folgendes geschrieben:
Bei DWS irritiert mich ... die "Web" ausrichtung

Stimmt, kannst Du aber bedenkenlos einsetzen. Ursprünglich war DWS eine Delphi-ähnliche Scriptsprache für Webanwendungen, daher der Name. Außerdem ist 'Print' (als Response) fest in die Sprache integriert. Ich habe es jedoch einer DB-Anwendung verwendet bei der der Anwender 'berechnete Felder' in Form von DWS-Skripten definieren konnte. Die Unterstützung von SynEdit mit Codecompletion etc. ist vorbildlich.

P.S.: ShowMessage, Dialoge, ja die ganze VCL kannst Du in einem DWS-Skript verwenden :-)
Moderiert von user profile iconNarses: Zitat repariert
[edit]Repariertes Zitat repariert ;-)[/edit]

_________________
Na denn, dann. Bis dann, denn.
Klabautermann Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Di 23.09.08 17:04 
Hallo,

also nachdem ich ein weing dammit rumgespielt habe, scheint mir DWS doch sehr vielversprechend. Ich werde morgen mal versuchen ein paar Beispielscenarien darin um zu setzen und dabei insbesondere ein paar zugriffe auf die Hauptanwendung machen (insbesondere auf deren DB), bin nach dem was ich im Manual gelesen habe aber recht zuversichtlich.

Daher betrachte ich die Frage erst einmal als beantwortet und melde mich falls es Probleme geben sollte wieder ;).

Gruß
Klabautermann