Delphi-PRAXiS
Seite 7 von 12   « Erste     567 89     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   ScriptEngine II (v. 0.6.1) (https://www.delphipraxis.net/140590-scriptengine-ii-v-0-6-1-a.html)

littleDave 14. Apr 2010 20:52

Re: ScriptEngine II (v. 0.4.8.0)
 
Neues Version :arrow: 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]

mkinzler 14. Apr 2010 21:01

Re: ScriptEngine II (v. 0.4.8.0)
 
Gute Arbeit! :thumb:

littleDave 14. Apr 2010 21:13

Re: ScriptEngine II (v. 0.4.8.0)
 
Zitat:

Zitat von mkinzler
Gute Arbeit! :thumb:

Danke :-) freut mich wirklich :-)

EugenB 14. Apr 2010 21:24

Re: ScriptEngine II (v. 0.4.8.0)
 
Zitat:

Zitat von mkinzler
Gute Arbeit! :thumb:

Genau, gute Arbeit :)

Dank dem neuen Stack-Overflow-Handling hab ich nun auch nen blockierenden Fehler gelöst bekommen :) danke :)

littleDave 14. Apr 2010 22:52

Re: ScriptEngine II (v. 0.4.8.0)
 
Zitat:

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.

schöni 15. Apr 2010 09:32

Re: ScriptEngine II (v. 0.4.8.0)
 
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.

littleDave 15. Apr 2010 19:09

Re: ScriptEngine II (v. 0.4.8.0)
 
Noch ein schnelles Update :arrow: 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

littleDave 19. Apr 2010 20:01

Re: ScriptEngine II (v. 0.4.9.0)
 
Mal wieder ein größeres Update :arrow: 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

EugenB 22. Apr 2010 23:46

Re: ScriptEngine II (v. 0.4.9.0)
 
Zitat:

Zitat von littleDave
Mal wieder ein größeres Update :arrow: 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 .... :nerd:

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

MfG
Eugen

littleDave 24. Apr 2010 23:00

Re: ScriptEngine II (v. 0.5.0.0)
 
Zitat:

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 .....

:arrow: 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


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 Uhr.
Seite 7 von 12   « Erste     567 89     Letzte »    

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 by Thomas Breitkreuz