Difference between revisions of "TES5Edit Scripting Functions"

→‎Pascal implementation: Continue is supported but inconsistent. Passing functions in args/vars seems to be broken.
imported>DavidJCobb
(→‎Pascal implementation: ClassName supported; TList<T> unsupported)
imported>DavidJCobb
(→‎Pascal implementation: Continue is supported but inconsistent. Passing functions in args/vars seems to be broken.)
Line 437: Line 437:
TES5Edit appears to use [http://jvcl.delphi-jedi.org/JvInterpreter.htm JVCL] to interpret Delphi, a variant of Pascal. A few details can be found below.
TES5Edit appears to use [http://jvcl.delphi-jedi.org/JvInterpreter.htm JVCL] to interpret Delphi, a variant of Pascal. A few details can be found below.


* TES5Edit's Pascal implementation does not appear to support the Continue statement.
* TES5Edit's Pascal implementation does not appear to support function overloading.
* TES5Edit's Pascal implementation does not appear to support function overloading.
* TES5Edit's Pascal implementation does not appear to support open array parameters (e.g. <code>array of integer</code>).
* TES5Edit's Pascal implementation does not appear to support open array parameters (e.g. <code>array of integer</code>).
Line 446: Line 445:
* TES5Edit's Pascal implementation does not appear to support the <code>is</code> or <code>as</code> keywords. However, <code>TObject</code> and its subclasses offer a <code>ClassName</code> method.
* TES5Edit's Pascal implementation does not appear to support the <code>is</code> or <code>as</code> keywords. However, <code>TObject</code> and its subclasses offer a <code>ClassName</code> method.
* TES5Edit's Pascal implementation does not appear to support constructions such as <code>TList&lt;Integer&gt;</code>.
* TES5Edit's Pascal implementation does not appear to support constructions such as <code>TList&lt;Integer&gt;</code>.
* TES5Edit's Pascal implementation does not appear to support [http://docwiki.embarcadero.com/RADStudio/XE8/en/Procedural_Types procedural types].
* In TES5Edit's Pascal implementation, values are returned by assigning to <code>Result</code>, rather than by assigning to the function name.
* In TES5Edit's Pascal implementation, values are returned by assigning to <code>Result</code>, rather than by assigning to the function name.
* [http://docwiki.embarcadero.com/RADStudio/XE2/en/Variant_Support_Routines Variant support routines] don't appear to be implemented, making it tricky to work with variants.
* [http://docwiki.embarcadero.com/RADStudio/XE2/en/Variant_Support_Routines Variant support routines] don't appear to be implemented, making it tricky to work with variants.
Anonymous user