Difference between revisions of "TES5Edit Scripting Functions"

Jump to navigation Jump to search
→‎Pascal implementation: units are broken, though whether that's the interpreter's fault or embarcadero's is unclear
imported>DavidJCobb
(→‎Global functions: FileByIndex)
imported>DavidJCobb
(→‎Pascal implementation: units are broken, though whether that's the interpreter's fault or embarcadero's is unclear)
Line 834: Line 834:
* 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>.
* If you try to store a Variant (e.g. the return value of GetElementNativeValues) in a Float variable and that variant has returned <code>nil</code>, then that Float will also contain <code>nil</code> and will throw errors when used.
* If you try to store a Variant (e.g. the return value of GetElementNativeValues) in a Float variable and that variant has returned <code>nil</code>, then that Float will also contain <code>nil</code> and will throw errors when used.
* JvInterpreter permits one unit to overwrite the constants and global variables of another unit (and the last loaded value will be used by ''all loaded units''). However, it throws errors if a unit ends up "overwriting" ''its own'' variables as a result of being used multiple times (which can happen if you use multiple interdependent units). These errors occur even if the multiply-used unit defines its global variables in its implementation block, and even if it is only used from the implementation blocks of other units (implementation blocks are supposed to be roughly analogous to a private scope). This means that the global scope isn't safe to use when building libraries.
** This may be a standard Delphi limitation if [http://stackoverflow.com/questions/11258996/delphi-xe-dcc-error-e2004-identifier-redeclared-system the behavior of the System unit] is of any indication, but literally no official or unofficial documentation on the Internet mentions it as a general rule.


==== xEdit extensions to JvInterpreter ====
==== xEdit extensions to JvInterpreter ====
Anonymous user

Navigation menu