Difference between revisions of "TES5Edit Scripting Functions"
Jump to navigation
Jump to search
m
→Pascal implementation: forgot a link
imported>DavidJCobb (→Pascal implementation: correction: JvInterpreter!Delphi's handling of global variables is just atrocious in every way, and Delphi itself isn't any help) |
imported>DavidJCobb m (→Pascal implementation: forgot a link) |
||
Line 834: | Line 834: | ||
* TES5Edit's Pascal implementation does not appear to support constructions such as <code>TList<Integer></code>. | * TES5Edit's Pascal implementation does not appear to support constructions such as <code>TList<Integer></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 throws an error if any identifiers in the global scope are redeclared; reportedly, this differs from the behavior that Delphi has shown since 1987, wherein global identifiers in later-included files shadow those in earlier-included files. Defining them in <code>implementation</code> blocks doesn't make any difference. | * JvInterpreter throws an error if any identifiers in the global scope are redeclared; reportedly, this differs from [http://stackoverflow.com/questions/17293008/why-doesnt-the-delphi-compiler-warn-for-a-redefined-constant the behavior that Delphi has shown since 1987], wherein global identifiers in later-included files shadow those in earlier-included files. Defining them in <code>implementation</code> blocks doesn't make any difference. | ||
** In addition to this, including a unit multiple times triggers these errors, as its own definitions conflict with themselves. 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. | ** In addition to this, including a unit multiple times triggers these errors, as its own definitions conflict with themselves. 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. | ||
*** And no, Delphi has no equivalent to <code>#pragma once</code>, and JvInterpreter wouldn't support it anyway | *** And no, Delphi has no equivalent to <code>#pragma once</code>, and JvInterpreter wouldn't support it anyway |