Difference between revisions of "TES5Edit Scripting Functions"

Jump to navigation Jump to search
m
imported>DavidJCobb
(→‎Pascal implementation: JvInterpreter doesn't short-circuit conditions and is terrible in general)
imported>DavidJCobb
m (→‎Pascal implementation: clarification)
Line 842: Line 842:
** JvInterpreter does not throw errors if you redefine a function within the same file, even if the redefinition changes that function's signature. Sometimes, it uses the last definition; other times, however, it uses the first definition.
** JvInterpreter does not throw errors if you redefine a function within the same file, even if the redefinition changes that function's signature. Sometimes, it uses the last definition; other times, however, it uses the first definition.
* JvInterpreter doesn't throw errors if multiple files use the same unit name, but having multiple files use the same unit name will break the parser. Errors like "''Error in unit 'UnitName' on line 42: 'begin' expected but 'x' found''", where "x" is the middle of another keyword, a variable name, or even a string, are common in this situation.
* JvInterpreter doesn't throw errors if multiple files use the same unit name, but having multiple files use the same unit name will break the parser. Errors like "''Error in unit 'UnitName' on line 42: 'begin' expected but 'x' found''", where "x" is the middle of another keyword, a variable name, or even a string, are common in this situation.
* JvInterpreter does not short-circuit conditions such as <code>If Assigned(myList) And (myList.IndexOf('Test')) Then</code>; even if the first clause fails, the second will still execute (and end up throwing an exception).
* JvInterpreter does not short-circuit conditions such as <code>If Assigned(myList) And (myList.IndexOf('Test')) Then</code>; even if the first clause fails, the second will still execute (and end up throwing an exception). You need to nest the conditions: <code>If A Then If B Then C;</code>.


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

Navigation menu