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