Hallo Christian,
ich weiß was du meinst. Ehrlich gesagt habe ich noch nie getestet, ob Interfaces funktionieren, wurde explizit auch gar nicht implementiert. Theoretisch dürfte es aber funktionieren, praktisch funtioniert es deiner Aussage jedoch nicht. Wäre mal Wert mal nachzuforschen für mich.
Es gibt zwei einfache Möglichkeiten dein Scenario zuverlässig zu realisieren:
1. Durch eine Wrapper-Klasse, welche nur die Script-Funktionen implementiert
2. Alle Nicht-Script-Member als Friend definieren. NUR Public-Member sind in der Script-Engine sichtbar.
Was mich aber gerade etwas verwirrt: In der Fehlermeldung steht "Laufzeitfehler:...". Tritt die Meldung während der Compilierung(d.h. bei CreateCode()) oder erst bei der Ausführung (d.h. bei Execute()) auf?
Anmerkung:
Quelltext
1:
| ASomeClass.foo := 'bar'; |
Zuvweisungs- und Vergleichsoperator ist beides '=', ':=' ist nicht bekannt. Vermutlich frisst der Compier das, weil Unknown-Tokens(z.B. ':') einfach übersprungen werden.
Gruß,
Sebastian