AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte ScriptEngine II (v. 0.6.1)
Thema durchsuchen
Ansicht
Themen-Optionen

ScriptEngine II (v. 0.6.1)

Ein Thema von littleDave · begonnen am 21. Sep 2009 · letzter Beitrag vom 4. Aug 2011
Antwort Antwort
Seite 7 von 12   « Erste     567 89     Letzte »    
Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#1

Re: ScriptEngine II (v. 0.4.8.0)

  Alt 14. Apr 2010, 19:52
Neues Version Version 0.4.8.0
  • Neue Features
    • Konstanten können jetzt auch in Class-Helpers deklariert werden
    • Der Unit-Cache-Manager hat jetzt ein Event, mit dem man einen eigenen Stream für das Speichern des Caches angeben kann. Zwar ist das noch nicht dokumentiert, werde das aber bei Gelegenheit nachholen.
    • Dynamische Methoden sind jetzt ebenfalls im Call-Stack zu finden
  • Änderungen
    • Stack-Overflow-Handling in den Scripts werden jetzt besser behandelt
    • Der Stack wird jetzt vor dem Finalization-Abschnitt zurückgesetzt
    • das Lesen von Properties kann jetzt weiter verschachtelt werden als vorher
  • Bug-Fixes
    • Ein paar seltene Probleme beim Linken behoben
    • Das Überprüfen von Procedure-Pointer (z.B. bei Events) hat zur Laufzeit einen Fehler verursacht
    • Variablen-Namen in Methoden wurden nicht mit den Parameter-Namen der Methode auf doppelte Deklarationen überprüft
    • kleines Problem mit break, continue und exit-Anweisungen in verschachtelten Schleifen behoben
    • kleiner Bug beim Konvertieren von integer zu string im Parser
    • Enumerations hatten intern eine Datengröße von 0 wodurch man sie nicht in Klassen oder Records verwenden konnte
    • seltene Probleme mit Referenced-Variablen behoben, wenn sie als Parameter an eine Methode übergeben wurden

Der Download befindet sich wie immer im ersten Post ( - oder im SVN)

Grüße

[edit=mkinzler]Link zum 1. Post eingefügt Mfg, mkinzler[/edit]
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: ScriptEngine II (v. 0.4.8.0)

  Alt 14. Apr 2010, 20:01
Gute Arbeit!
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#3

Re: ScriptEngine II (v. 0.4.8.0)

  Alt 14. Apr 2010, 20:13
Zitat von mkinzler:
Gute Arbeit!
Danke freut mich wirklich
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat
EugenB

Registriert seit: 7. Dez 2006
98 Beiträge
 
Lazarus
 
#4

Re: ScriptEngine II (v. 0.4.8.0)

  Alt 14. Apr 2010, 20:24
Zitat von mkinzler:
Gute Arbeit!
Genau, gute Arbeit

Dank dem neuen Stack-Overflow-Handling hab ich nun auch nen blockierenden Fehler gelöst bekommen danke
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#5

Re: ScriptEngine II (v. 0.4.8.0)

  Alt 14. Apr 2010, 21:52
Zitat von EugenB:
Dank dem neuen Stack-Overflow-Handling hab ich nun auch nen blockierenden Fehler gelöst bekommen danke
Da bin ich aber froh . Freut mich

Wegen dem Feature-Request in deiner Mail (Quelltext-Zeilen bei Fehlern): ich überlege mir im Moment ein Debugger-Interface, mit dem solche Informationen dann ausgelesen werden können. Die kompilierten Daten (also TSE2PE) enthalten absichtlich so wenig Informationen wie möglich. Daher sind auch keine Quelltext-Zeilen mit drinnen. Ich werde wahrscheinlich einen weiteren Container definieren, die dann die nötigen Informationen beinhalten. Aber das geistert bei mir im Moment nur im Kopf herum - konkrete Sachen kann ich daher noch nicht sagen.
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#6

Re: ScriptEngine II (v. 0.4.8.0)

  Alt 15. Apr 2010, 08:32
Suuuper! Danke für die Arbeit.

Hab mir die Ide der Script Engine angesehen. Baue seber auch grad ne IDE. Daher mein Interesse.

Gute Arbeit.

Schön wäre noch Debugging auf Quellcodeebene. Debugfähigkeiten fehlen in meiner IDE noch völlig. Da kämpde ich noch mit der Schnittstelle.
Meine IDE ist als "Einfache Freepascal IDE" unter Freeware hier in der DP zu finden.

Deine ist optisch schöner. Und es ist nicht die X-te Pascal IDE, sondern eine Scriptmaschine mit den daraus resultierenden Möglichkeiten.

Ein dickes Lob von mir.
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#7

Re: ScriptEngine II (v. 0.4.8.0)

  Alt 15. Apr 2010, 18:09
Noch ein schnelles Update Version 0.4.8.1

eine wichtige Bug-Fix-Version
  • Bug-Fixes
    • Es gab unter bestimmten Situationen ein größeres Problem bei verschachtelten Record-Aufrufen sowie beim Zugriff auf einzelne Record-Felder. Manchmal funktionierte es, manchmal kamen falsche Werte und manchmal kam es zu Zugriffsverletzungen. Das hing davon ab, ob der interne Cache des Memory-Managers benutzt wird und wie voll dieser war.
  • kleine Änderungen
    • die Größe der kompilierten exe aus Delphi heraus ist jetzt kleiner

Der Download befindet sich wie immer im ersten Post ( - oder im SVN)

Grüße
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#8

Re: ScriptEngine II (v. 0.4.9.0)

  Alt 19. Apr 2010, 19:01
Mal wieder ein größeres Update Version 0.4.9.0
  • Neuerungen
    • Der is-Operator (if myVar is TMyClass then ...) ist jetzt eingebaut. Dieser funktioniert jedoch bisher nur mit script-internen Klassen (also nicht mit externen bzw. importierten Klassen)
    • Die case-Anweisung unterstützt jetzt auch mehrere Auswahl-Argumente (getrennt mit Komma)
    • Neuen Unit-Import-Generator: einen generischen Unit-Importer. In dem generierten Quelltext kann dann über zwei defines eingestellt werden, ob der Import als Package oder Anwendungs-Intern erfolgen soll (IDE->Project->Generate Unit->Generic Unit)
    • Unit-Namen können jetzt auch Punkte (.) enthalten. Somit kann man jetzt mehrere Ebenen in die Units einbauen (z.B. Unit1.SubUnit.SubUnit)
    • Neuer DLL-Memory-Manager für die Packages (nur für Windows!). Wenn man ein DLL-Package erstellt, konnte man bisher nur über eine Methode den Memory-Manager setzen. Da diese Methode jedoch erst nach dem Initialisieren von manchen Sachen der VCL gesetzt werden kann, kann man jetzt, wie bei ShareMem, eine besonderen Unit benutzen. Das besondere dabei: Es funktioniert wie ShareMem (also als erste Unit in der DLL die Unit "uSE2DLLMemoryManager" hinzufügen), braucht jedoch keine extra DLL. Da das ganze über Memory-Mapped-Files gelöst ist, ist noch keine Linux-Implementierung vorhanden. Für Linux-Benutzer bleibt jedoch die bisherige Möglichkeit natürlich vorhanden.
    • Ein paar Helper-Methoden für die TStream-Klasse eingebaut
    • Neue Helper-Methode für strings: "LastIndexOf" (umgedrehtes pos -> sucht also nach der letzten Position eines sub-strings in einem string
  • Änderungen
    • Typen-Namen können jetzt auch komplett mit Unit-Namen angegeben werden
    • Geschwindigkeit vom Unit-Cache verbessert
    • Geschwindigkeit vom Tokenizer verbessert
    • Code-Completion durchsucht jetzt auch die Helper-Klassen, um die kompatible Variablen für die Paramter auszuwählen
  • Bug-Fixes
    • Einen weiteren kritischen Fehler im Compiler behoben
    • kleinen Fehler beim finden von Typen behoben

Der Download befindet sich wie immer im ersten Post ( - oder im SVN)

Grüße
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat
EugenB

Registriert seit: 7. Dez 2006
98 Beiträge
 
Lazarus
 
#9

Re: ScriptEngine II (v. 0.4.9.0)

  Alt 22. Apr 2010, 22:46
Zitat von littleDave:
Mal wieder ein größeres Update Version 0.4.9.0

...
Nabend , endlich mal etwas zeit gehabt die Version zu testen (zumindest, es versucht..)

sofort beim Neu Compilieren der Src kommen diese Fehler bei Lazarus:

Code:
Hint: Start of reading config file C:\Lazarus\fpc\2.4.0\bin\i386-win32\fpc.cfg
Hint: End of reading config file C:\Lazarus\fpc\2.4.0\bin\i386-win32\fpc.cfg
Free Pascal Compiler version 2.4.0 [2009/12/18] for i386
Copyright (c) 1993-2009 by Florian Klaempfl
Target OS: Win32 for i386
Compiling SimpleTest.lpr
Compiling main.pas
Compiling C:\Lazarus\components\SEII\src\uSE2RunTime.pas
Compiling C:\Lazarus\components\SEII\src\uSE2RunCall.pas
Compiling C:\Lazarus\components\SEII\src\uSE2RunTimeClasses.pas
{...}
C:\Lazarus\components\SEII\src\uSE2RunCall.pas(717,13) Hint: Conversion between ordinals and pointers is not portable
C:\Lazarus\components\SEII\src\uSE2RunCall.pas(8,38) Hint: Unit "uSE2BaseTypes" not used in uSE2RunCall
Compiling C:\Lazarus\components\SEII\src\uSE2IncHelpers.pas
C:\Lazarus\components\SEII\src\uSE2IncHelpers.pas(562,38) Hint: Parameter "Target" not used
C:\Lazarus\components\SEII\src\uSE2IncHelpers.pas(8,12) Hint: Unit "uSE2Types" not used in uSE2IncHelpers
C:\Lazarus\components\SEII\src\uSE2IncHelpers.pas(8,27) Hint: Unit "uSE2BaseTypes" not used in uSE2IncHelpers
Compiling C:\Lazarus\components\SEII\src\uSE2Packages.pas
Compiling C:\Lazarus\components\SEII\src\uSE2DLLMemoryManager.pas
C:\Lazarus\components\SEII\src\uSE2DLLMemoryManager.pas(76,24) Hint: Local variable "mm" does not seem to be initialized
C:\Lazarus\components\SEII\src\uSE2DLLMemoryManager.pas(144,7) Fatal: Selected assembler reader not supported
Da haben wir wieder das schöne Assembler ....

Entweder bei FPC die alte Variante nutzen, oder halt irgendwie für FPC ne andere Assembler Version nehmen

MfG
Eugen
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#10

Re: ScriptEngine II (v. 0.5.0.0)

  Alt 24. Apr 2010, 22:00
Zitat von EugenB:
Nabend , endlich mal etwas zeit gehabt die Version zu testen (zumindest, es versucht..)
sofort beim Neu Compilieren der Src kommen diese Fehler bei Lazarus:
Sollte behoben sein, denn .....

Version 0.5.0.0
  • Neuerungen
    • TObject hat eine neue Funktion: ClassName: liefert den Strong-Name der Klasse (Unit.Name)
    • Neue Unit: System.Diagnostics: Enthällt die Klasse Debug (noch nicht ganz fertig) (Debug.Assert)
    • Exception-Handling in der Script-Engine erweitert (bzw. eingebaut)
  • Änderungen
    • die Funktion TSE2RunTime.GetCallStack hat nun eine optionale maximale Stack-Tiefe, die ausgewertet wird
    • Die Geschwindigkeit des Stack ist nun besser. Dadurch werden vor allem sehr verschachtelte, rekursive Aufrufe sehr viel schneller
    • Die Streams in den Beispiel-Packages "Streams" sind jetzt in der Unit "IO.Streams"
  • Bug-Fixes
    • Das von EugenB beschriebene Problem in der uSE2DLLMemoryManager.pas unter FPC behoben
    • Parameter-Typen in Methoden können jetzt auch mit Unit-Name angegeben werden

Noch mal zum Exception-Handling. Es ist jetzt in der Script-Engine möglich, Exceptions abzufangen, auszuwerten und sogar eigene zu werfen. Dabei gibt nicht wie bei den Klassen zwei verschiedene Root-Objekte für die Exceptions, sondern es gibt nur einen Root-Typ. Wie das ganze genau funktioniert, habe ich in das pdf gepackt. Download habe ich ja eine vorkompilierte Version der Beispiel-IDE mitgeliefert. In dieser könnt ihr mal das Projekt "Projects\Exception Test Studio\ExceptStudio.sproject" öffnen und durchlaufen lassen.


Der Download befindet sich wie immer im ersten Post ( - oder im SVN)

Grüße
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 7 von 12   « Erste     567 89     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 16:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz