AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte RUTIS Engine (Scripting) [WinCE spinnt]
Thema durchsuchen
Ansicht
Themen-Optionen

RUTIS Engine (Scripting) [WinCE spinnt]

Ein Thema von olee · begonnen am 14. Jun 2009 · letzter Beitrag vom 20. Aug 2010
Antwort Antwort
Seite 3 von 11     123 45     Letzte »    
Benutzerbild von olee
olee
Registriert seit: 16. Feb 2008
DIES IST DIE ALTE VERSION VON RUTIS
Die neue Version gibts hier: RUTIS v2
----------------------------------------------

Hi,
Hier möchte ich euch eines meiner größten Projekte vorstellen.

RUTIS

Die "RunTime Script Engine" (RUTIS Engine) dient dazu, Scripte zur Laufzeit zu compilieren und auszuführen, um z.B. Die Funktionen von Programmen zu verändern, ohne diese neu zu compilieren.
Durch eine sehr hohe Geschwindigkeit lassen sich sogar ganze Programme allein mit einem solchen Script erstellen.
Die RUTIS Engine kann mehrere Compiler unterstützen wobei der Standardcompiler mit einem Delphi/Pascal Syntax arbeitet.

- - - HINWEIS: INFOS ETWAS VERALTET - WERDEN BEI GELEGENHEIT KORRIGIERT - - -
RUTIS bietet eine große Funktionsvielfalt:
  • Globale sowie lokale Variablen
  • Verschachtelbare Funktionen und Methoden, die auch rekursive Algorithmen lösen können.
  • Beliebige Deklaration von Records
  • Unterstützung von Pointern und Arrays
  • Einfache Verknüpfung von Hostprogramm und Script mittels speziellen, beliebig erstellbaren Verbindungsfunktionen.
  • NEU: Methode-Variablen (bisher jedoch nur parameterlose Prozeduren)
  • NEU: Formular Interface, wodurch sich ganze Anwendungen mit GUI erstellen lassen!
  • NEU: Aufruf von DLL-Funktionen über die deklaration im Script als 'external' ! (Hier ein DANKE an 'Astat')
  • uvm.
Das sollte vorerst an Informationen reichen.

RUTIS PROJEKTSEITE (Downloads, Infos usw.)
SVN-Portal: http://www.xp-dev.com/sc/77518


INFO : RUTIS unterliegt einer Creative Commons BY-NC-SA (DE) Lizenz
INFO 2: Die nachfolgenden Links könnten des öfteren nicht funktionieren, da sie nach jedem neuen Upload ungültig werden. Auf der Projektseite dagegen sollten
die Downloadlinks immer funktionieren. Ich entschuldige mich hier auch für eine solche Faulheit, die Links nur selten zu aktualisieren ^^
RUTIS Setup 1,04 MB RUTIS (zip) 1,28 MB RUTIS (Source) 2,08 MB


MFG
Codename: Performancepumpe

Geändert von olee (20. Mai 2011 um 04:50 Uhr)
 
Benutzerbild von olee
olee

 
Turbo Delphi für Win32
 
#21
  Alt 9. Sep 2009, 09:36
Dann wird es dich freuen zu hören, dass RUTIS schon unter Lazarus zu kompillieren ist.

Wie ich bereits erwähnt haben, habe ich es mit Lazarus sogar für PocketPC kompilliert,
sodass ich unterwegs kleine Programme schreiben und testen kann.

Bisher komme ich super vorran nur eine Sache bereitet mir noch Kopfzerbrechen:
--> Ich habe Probleme mit der Typkonvertierung bei Ausrücken.
Z.B. "x := 3.5 / 7;" usw.

Aber ich denke ich werde es schaffen.

MFG
Björn Zeutzheim
  Mit Zitat antworten Zitat
mimi

 
FreePascal / Lazarus
 
#22
  Alt 9. Sep 2009, 12:16
Prima. Dann warte ich mal die nächste Version ab
Michael Springwald
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

 
Turbo Delphi für Win32
 
#23
  Alt 11. Sep 2009, 18:57
So!

Wie versprochen halte ich euch mal auf dem Laufenden:

Ich komme sehr gut vorran.

DIe Engine lässt sich (mit teilweise auskommentierten Teilen) wieder kompillieren.
(Das soll eine gute Nachricht sein )

Außerdem klappen simpelste Scripts sogar schon

Bsp:
Delphi-Quellcode:
begin
  write 'Ein String';
  write EinSmallIntWert;
  write EinIntegerWert;
  write EinSingleWert;
  write EinExtendedWert;
end.
Als nächstes werde ich arithmetische Operationen wieder ermöglichen (+, -, *, /) mit den
dazugehörigen Konvertierungsfunktionen (Single->Double, Double->Extended, ShortInt->AInteger, usw.)

MFG
Björn Zeutzheim
  Mit Zitat antworten Zitat
mimi

 
FreePascal / Lazarus
 
#24
  Alt 11. Sep 2009, 19:00
Zitat:
write 'Ein String';
Hast du hier nicht die Klammern vergessen ? Oder ist das deine eigene Scrip Sprache jetzt ?
Michael Springwald
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

 
Turbo Delphi für Win32
 
#25
  Alt 11. Sep 2009, 20:01
Dieses Code-Beispiel stammte aus der Script-Engine

Achja ich bin weiter gekommen:

Es funktionieren jetzt die arithmetischen Operationen also:

Delphi-Quellcode:
begin
  write 5 + 2;
  write 5 - 2;
  write 5 * 2;
  write 5 / 2;
end;
Output:
"7" "3" "10" "2"

Als nächstes kommt das Wichtigste und auch das Schwerste:
Die Variablen (i := 5; usw.)

Ich werde mich beeilen, sodass RUTIS möglichst bald wieder einigermaßen funktionstüchtig ist

MFG und bis bald
Björn Zeutzheim
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

 
Turbo Delphi für Win32
 
#26
  Alt 12. Sep 2009, 20:58
So ich darf wiedermal eine tolle Nachricht überbringen:

Es funktionieren die Variablen und Externen-Methoden wieder eingeschränkt.

Also Sachen wie dies hier
Delphi-Quellcode:
begin
  i := 2+3;
  write i*2;
end
(Output = "10") funktionieren schon!

Ich denke ich werde die Engine morgen halbwegs fertig bekommen,
vor allem da ich heute zwar nur wenig daran gearbeitet habe, aber trotzdem wieder so weit kam.

Als nächstes werde ich auch de Debugger wider aktivieren (momentan auskommentiert).

Vor allem der wird euch bestimmt gefallen.

Durch das neue System zur Speicherung der Variablen und Typen werden die Infomationen die dieser
liefern kann viel detaillierter sein.

Auch eine "Auswerten / Ändern" Funktion wird es geben
(wobei Auswerten ja schon immer sogar zur Laufzeit des Scriptes klappte)

MFG
Björn Zeutzheim
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

 
Turbo Delphi für Win32
 
#27
  Alt 20. Sep 2009, 18:50
So es sieht sehr gut aus.

Inzwischen funktionieren mansche Scrips schon wieder, und und ich habe auhc viele der Externen Methoden
wieder "einkommentiert".

Leider ergeben sich noch Probleme mit Strings.

Vorher konnte ich einfach beim laden auf den stack eines Strings diesen kopieren, bearbeiten, auf den String speichern, wo dieser später sein soll und die Kopie anschließend löschen.

Das war sehr unkompliziert, weil der Datentyp der jeweiligen Variable immer mit auf dem Stack lag.

Nun ist das ein wenig komplizierter, aber ich denke ich bekomme es hin.

Wenn nun bald Arrays und Strings wieder einwandfrei funktionieren, werde ich vermutlich das erste release der Version 2.0 rausgeben.


MFG
Björn Zeutzheim
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

 
Turbo Delphi für Win32
 
#28
  Alt 13. Okt 2009, 12:18
So ich denke ich bin euch ein paar Update-Infos schuldig

Inzwischen darf ich stolz verkünden, dass seit gestern RUTIS wieder (vllt. noch fast) vollständig funktionsfähig ist!

Es klappen nun wieder Arrays, Records, Pointer, interne Proceduren und Funktionen, externe Funktionen und eben der ganze Rest.

Ich werde als nächstes wohl folgendes machen:
  • Bug: Es gibt manchmal noch Speicherfehler in Scripts.
    D.h. es werden zugewiesene Speicher von Strings oder Arras nicht wieder freigegeben.
  • Eigene Typen (außer Records) deklarieren:
    type
    TMyInteger = Integer;
    PMyRecord = ^TMyRecord;
  • Bessere Fehlermeldungen bei falschen Eingaben.
  • MENGENTYPEN!
  • Methodenvariablen (var Proc: TProcedure)
  • uvm.

Der Download der aktuellen Version befindet sich wie gewohnt im ersten Post!

Viel Spaß!

MFG
Björn Zeutzheim
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

 
Turbo Delphi für Win32
 
#29
  Alt 13. Okt 2009, 18:23
So ich habe nochmal ein Update hochgeladen, da in dem letzten ein Fehler war.

Nun sollte alles funktionieren.

Ich würde mich über etwas feedback sehr freuen.

MFG
Björn Zeutzheim
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

 
Turbo Delphi für Win32
 
#30
  Alt 17. Okt 2009, 16:50
Hmm ...
etwas still hier geworden.

Wie auch immer.

es gbt nun eine NEUE VERSION!
  • Stark verbesserter Script-Editor mit Suchen/Ersetzen u.a.
  • Runtime-Anwendung
    --> Führt Scripte nur aus, ohne deren Code anzuzeigen u.a.
  • Code Verschlüsselung
    Scripte können nun in einer (bisher einfachen) verschlüsselten Version abgespeichert werden,
    sodass sie nur noch ausgeführt, und nicht mehr abgeändert werden können.
  • Bugfixes uvm.

If würde mich über etwas Feedback so langsam wirklich sehr freuen...

MFG
Björn Zeutzheim
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 11     123 45     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:26 Uhr.
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