Einzelnen Beitrag anzeigen

EugenB

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

Re: Sysygy Script Engine - Version 0.99h

  Alt 4. Jan 2009, 13:09
Moin,

irgendwie bin ich grade im Script-Wahn , zuerst hab ich Pascal Script probiert aber irgendwie sind da noch soviele Fehler, dann hab ich schon fast vergessen das es diese Script Engine noch gibt

Da ich FPC nutze, musste ich in dieser Datei: uSygConstants

diesen Teil:

Delphi-Quellcode:
procedure TSygScript_List.SetCount(value: Cardinal);
var i: integer;
begin
  for i:=Count to value-1 do
    Add(nil);
end;
auch unter das {$IFNDEF FPC} packen

dann konnte ich es schon mal Compilieren

Da es noch keine Arrays gibt haste wohl diese TIntegerList hinzugefügt oder? ist ganz hilfreich, jedoch wie kann man die Werte neu setzen? ich fand dazu keine Funktion, also hab ich diese mal eben hinzugefügt:

Delphi-Quellcode:
procedure TIntegerList_SetItem(Self: TIntegerList; index: integer; Item: Integer);
begin
  Self.Items[index] := Item;
end;
das selbe auch für TFloatList

Deine Script Engine ist eine richtige Alternative zum Pascal Script.

Was meinste wann diese Sachen funktionieren werden?
Arrays
Class Properties
Gleichnamige Funktionen ( welcher aber verschiedene Parameter haben zB. x(a: Integer); x(a: Float); x(a,b : Integer); etc

Wie füge ich Funktionen hinzu, auch wenn ich den UnitName nicht weiß?

Delphi-Quellcode:
procedure TForm1.ParserOnAddCustomFunctions(Sender: TObject; UnitName: string);
begin
   if(UnitName='myprogram')then
   begin
      TSygScript_Parser(Sender).AddFunction(@MyWriteLn, 'procedure WriteLn(s: string); register;');
   end;
end;
Wenn ich das ohne UnitName='my...' mache bekomme ich nen Fehler das WriteLn schon existiert, gibt es vllt ne Funktion zum zu gucken ob diese Funktion schon existiert? oder wie löst man es am besten.

Ich finde diese Engine besser als das Pascal Script, auch wenn die obigen Wünsche noch(?^^) nicht implementiert sind, zB Array ist bei Pascal Script vorhanden, jedoch gibts damit noch probleme, Class Properties funktionieren jedoch nur bei Variablen also vom Programm her hinzugefügte, jedoch kann man in Pascal Script keine Klassen im Script erstellen, wieder ein Pluspunkt , Gleichnamige Funktionen gibt es auch unter PS nicht, und Funktionen mit zB. Parameter mit gleichen Typen werden richtig aufgerufen

Ich würde vorschlagen das du die Scipt Engine auf einen SVN Server packst, dann könnte man immer nen aktuellen Code bekommen und man könnte leichter Patches erstellen

Weiter so
  Mit Zitat antworten Zitat