Innerfuse Pascal Script 3
Index
All units
All types
All classes
Innerfuse Pascal Script 3 (short IFPS3) is a script engine written in Delphi. IFPS3 allowes you to use parts of Object Pascal language within your Delphi projects at runtime. It's a set of units that can be compiled into your exe file so there is no need to distribute any external files. IFPS3 compiles first and allows to execute the script later.
Samples:
Sample 1 - Getting started
Sample 2 - Adding a function
Sample 3 - Using the dll library
Sample 4 - Using the classes library
Sample 5 - Using the classes library with an already created class
Sample 6 - Calling functions by name
Sample 7 - Calling functions by name with array parameters
Sample 8 - Calling functions by using method pointers
About parameters
Parameters are pushed from Right to Left so the first parameter is always pushed last. The result (if there is one) is pushed as the very last parameter.
Var parameters are pushed on the stack the same way except that instead of copying a variable, it's pushed directly on it and the refcount is increased. The result is also pushed like a var parameter.
About importing classes
"All public and published properties need to be registered, unless they were already registered by an ancester class"
"Public properties need to be registered using a property helper at runtime since there is no typeinfo generated for them"
"All public and published methods and constructors need to be registered, unless they are overriden or dynamic (not supported)"
"Destructors may not be registered, use TObject.Free instead"
About importing interface
Interfaces have to be registered only at compile time, at runtime you only have to register the interface support functions (ifps3.pas)
For interfaces it's important to always correctly specify the ancester interface and all functions, if there is a function that's not supported, use the AddDummy function.