Einzelnen Beitrag anzeigen

Benutzerbild von littleDave
littleDave

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

AW: ScriptEngine II (v. 0.5.4.0)

  Alt 8. Okt 2010, 18:12
Neue Version Version 0.5.4.0

Diesmal habe ich die Patch-Version mal wieder etwas erhöht . Wie vor etwas längerer Zeit angekündigt, habe ich den Delphi 2009+ - Support mal wieder verbessert. Das Äußert sich nun daran, dass es in der Script-Engine drei neue String-Typen gibt: AnsiString, PAnsiChar und PWideChar. Dadurch ist es nun endlich auch in den Unicode-Versionen von Delphi möglich - AnsiString-Methoden ohne Probleme in die ScriptEngine zu integrieren. In der SEII sind die String-Typen jetzt wie folgt gemapped:
  • SEII string -> string der kompilierten RunTime (RunTime wurde mit D7 kompiliert, dann AnsiString, mit D2010 UnicodeString)
  • SEII PChar -> PChar der kompilierten RunTime (RunTime wurde mit D7 kompiliert, dann PAnsiChar, mit D2010 PWideChar)
  • SEII AnsiString -> AnsiString der kompilierten RunTime
  • SEII WideString -> WideString der kompilierten RunTime
  • SEII PAnsiChar -> PAnsiChar der kompilierten RunTime
  • SEII PWideChar -> PWideChar der kompilierten RunTime
Kompilierte RunTime heißt in diesem Kontext: das Delphi-Programm, welches das kompilierte Programm der ScriptEngine ausführt.

ChangeLog:
  • Neuerungen
    • Neuer Typ: "System.AnsiString"
    • Neuer Typ: "System.PAnsiChar"
    • Neuer Typ: "System.PWideChar"
    • Neue Klasse: "System.AnsiStrings"
    • Klasse "System.StringEncoding" - Erweitert, so dass auch AnsiString verfügbar ist
    • Neue Helper-Klasse: "System.TAnsiStringHelper"
    • Neue Funktion in "System.Strings": "System.Strings.DefaultEncoding": liefert das interne Encoding der RunTime für den Typ "System.String" und "System.PChar".
    • Delphi XE als Compiler-Define eingeführt -> da sich intern zwischen D2010 und D-XE nicht so viel geändert hat, sollte alles funktionieren (ist jedoch nicht getestet)
    • Methoden-Pointer können nun auf andere EventTypen gecastet werden -> dies führt zu einer weniger strengen Parameterprüfung.
  • Änderungen
    • Properties mit Parametern können nun auch direkt hinter aufgerufen werden. Bisher musste man auf Grund eines Compiler-Bugs den Rückgabewert in eine Variable zwischenspeichern - das geht jetzt auch direkt

      Vorher:
      Delphi-Quellcode:
      var t : TIrgendwas;
        tmp : TIrgendwas;
      begin
        tmp := t.Items[0];
        tmp := t.Items[1];
        tmp.Items[2] := nil;
      end;
      Nun auch so möglich:
      Delphi-Quellcode:
      var t: TIrgendwas;
      begin
        t.Items[0].Items[1].Items[2] := nil;
      end;
  • Bug-Fixes
    • Ein paar Bugs in "System.Console" behoben: das interne String-Encoding hat bei D2009+ bei manchen Methoden nicht funktioniert
    • Ein paar Bugs im internen String-Handling der RunTime behoben

Download-Link ist im ersten Post.

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