![]() |
Re: ScriptEngine II (v. 0.3.3.0)
Hat deine Scriptsprache bzw. deine Scripengine schon einen Namen? Deine erste Engine hieß ja SY.... .
Arbeitest du schon in einem deiner Projekte mit der neuen Scriptsprache (Widget-Engine oder ähnliches)? mfg Florian |
Re: ScriptEngine II (v. 0.3.4.0)
Zitat:
@himitsu Das $IF scheint ja sehr mächtig zu sein :shock:. Mal schauen, ob ich das benutzen kann ;-) Danke für die Infos Zitat:
Zitat:
![]() Die Widget-Engine befindet sich gerade noch im Winterschlaf ;-). Jedoch will ich die neue Script-Sprache auch in die Widget-Engine einbauen. Zuvor muss ich mir aber erst ein Interface für die Widget-Engine überlegen und vielleicht die ein oder andere Veränderung machen. @All: Es gibt eine neue Version der Script-Engine :arrow: Version: 0.3.4.0 Ich habe gerade eine neue Version der Script-Engine hochgeladen. Diesmal hab ich einiges verbessert:
Grüße Edit - falsche Version Ich hab leider die falsche Version hochgeladen :oops: Alle, die sich das Paket vor dem 30.09.2009 23:30 Uhr heruntergeladen haben, haben leider eine alte Version. Ich hab gerade die richtige hochgeladen - Sorry. In der alten Version gab es noch ein Problem mit partiellen Klassen. |
Re: ScriptEngine II (v. 0.3.4.1)
So, es gibt (schon wieder ;-)) ein kleines Update :arrow: Version 0.3.4.1
Dies ist nur eine Bugfix-Version und bringt keine neuen Features. Folgendes hab ich verbessert:
|
Re: ScriptEngine II (v. 0.3.5.0)
Es gibt mal wieder ein Update :arrow: Version 0.3.5.0
Folgendes hat sich verändert:
SVN Auf Drängen von EugenB hab ich ein ![]() Nativer Script-Methoden-Aufruf Wie bereits gesagt kann man jetzt die Script-Methoden auch "nativ" aufrufen. Um das mal etwas zu verdeutlichen hier mal ein Beispiel: Sagen wir mal, ich will folgende Script-Methode dem FormResize-Event zuweisen:
Delphi-Quellcode:
Bisher musste man immer eine Wrapper-Funktion bauen, die folgendermaßen aussehen konnte:
var
formWidth, formHeight : integer; procedure MyFormResize(Sender: TObject); begin formWidth := TForm(Sender).Width; formHeight := TForm(Sender).Height; end;
Delphi-Quellcode:
Dann wurde bei jedem Event erst die Funktion "MyCustomHandler" ausgeführt, in der dann die Script-Funktion ausgeführt wurde.
// ....
Self.OnResize := MyCustomHandler; // ... procedure TForm1.MyCustomHandler(Sender: TObject); var Method : Pointer; begin Method := Self.FRunTime.CodeAccess.FindMethod('MyFormResize', '', [pmIn], [btObject]); if Method <> nil then Self.FRunTime.Call(Method, [Sender]); end; Nun kann man wie folgt machen
Delphi-Quellcode:
Jetzt wird bei jedem OnResize-Event automatisch die Script-Funktion ausgeführt.
// ....
Self.OnResize := MyCustomHandler; // ... procedure TForm1.SetEventHandler; var Method : Pointer; MyEvent: TNotifyEvent; begin Method := Self.FRunTime.CodeAccess.FindMethod('MyFormResize', '', [pmIn], [btObject]); if Method <> nil then begin MyEvent := TNotifyEvent( Self.FRunTime.ScriptAsMethod(Method, nil) ); Self.OnResize := MyEvent; // <----- end; end; Man kann die Events zwar noch (!!!) nicht in der Script-Engine selber setzten, da man noch keine Methoden als Typ deklariert kann. Aber sobald man das machen kann, kann man die Events dann auch in der Script-Engine selber setzen. Natürlich kann man nicht nur normale Funktionen "nativ" ausführen. Man kann auch Klassen-Methoden so aufrufen - aber ich hab das alles im PDF beschrieben. Grüße |
Re: ScriptEngine II (v. 0.3.5.0)
Eine Frage: Ist die IDE auch unter Linux lauffähig?
mfg _X_ |
Re: ScriptEngine II (v. 0.3.5.0)
Zitat:
An sich ist es ja nur ein Beispiel. Der Quelltext ist zwar immer noch nicht verfügbar :oops: kommt aber noch |
Re: ScriptEngine II (v. 0.3.5.0)
Unter Wine geht die IDE.
Wenn du die JVCL verwendest, (tust du doch, glaub ich, oder? ), kannst du Linux leider abschreiben. mgh _X_ |
Re: ScriptEngine II (v. 0.3.5.0)
Hey^^,
danke für den SVN ^^ Habe mal die Demos nach Lazarus konvertiert damit man auch mal so kurz testen kann ^^, und dabei herrausgefunden, das Convert.IntToStr nicht funktioniert SEII-Code:
Delphi-Quellcode:
Gibt nur eine leere Zeile aus :(
Console.WriteLine(Convert.IntToStr(32));
Weißt du vllt woran es liegt? Lazarus 0.9.29 (letzter Snapshot) FPC 2.2.4 Bisher noch keine anderen Bugs gefunden ^^ MfG, Eugen |
Re: ScriptEngine II (v. 0.3.5.0)
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: ScriptEngine II (v. 0.4.0.0)
Eine neues Update ist da :arrow: Version 0.4.0.0
Änderungen
Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 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 by Thomas Breitkreuz