IronPython API
Details
From C 39.5.21
- A detailed description of the API is located in the client's help folder (%client_folder%\help).
- If you have trouble opening the file, see the hints below.
- Another version can be found here: Iron_python_API_C39521.chm
From C 39.5.17
A detailed description of the API is located in the client's help folder (%client_folder%\help).
If you have trouble opening the file, see the hints below.
Another version can be found here: Iron_python_API_C39517.chm From C 39.5.11
A detailed description of the API is located in the client's help folder (%client_folder%\help).
If you have trouble opening the file, see the hints below.
Another version can be found here: Iron_python_API_C39511.chm From C 39.5.8
A detailed description of the API is located in the client's help folder (%client_folder%\help).
If you have trouble opening the file, see the hints below.
Another version can be found here: Iron_python_API_C3958.chm From C 39.5.6
A detailed description of the API is located in the client's help folder (%client_folder%\help).
If you have trouble opening the file, see the hints below.
Another version can be found here: Iron_python_API_C3956.chm From C 39.5.2
A detailed description of the API is located in the client's help folder (%client_folder%\help).
If you have trouble opening the file, see the hints below.
Another version can be found here: Iron_python_API_C3952.chm Up to C 39.5.2
A detailed description of the API is located in the client's help folder (%client_folder%\help).
If you have trouble opening the file, see the hints below.
Another version can be found here: Iron_python_API.chm
How to
- To access to the documentation, download the file mentioned above.
- Right click on the file and select properties.
- Click on Unblock and then on Apply.
Please note
- We only support the methods listed in the appropriate IronPythonAPI.
- Every Client function that is used via IronPython but is not part of the official API may not work anymore after a Client update.
Various Know-how
Embedding IronPython code in a module
How to
- Select a DA in your module
- Insert a new DF with ID 004336 and change DF-Verhalten to py
- Close the DA and reopen it
- Expand the DI and paste your code into IronPython Skript
- Save and start the module
- Add the following code at the top:
# coding: latin-1"
- Code that looks like this in C#:
GetValue<T>()
- Will look like this in IronPython:
GetValue[T]()
Note
- Keep in mind for C#, Visual Basic and Visual C++ it is "String" but in Python it is "str"
- For reason of the IronPython bug, the indexers of the generic .NET collections will not work if a first access to them was not correct (for example the indexer requires int but you put a string value). So use the attribute _getitem_ instead of [] explicitly or please be sure that indexers are used correct.
Reload modules on local client without client restart
Information
- In order to apply code changes without the need of a client restart, use the following guideline.
How to
Remembering data across multiple modules
- Data can be stored somewhere in the __builtins__ dictionary
- Unlike the server, each Client has its own IronPython interpreter, so everyone has their own copy of __builtins__
Stop
- Do not use __builtins__ when calling server code, for example with
server_execute()
Useful snippets
Getting the value of a DI that is in the same DA as the IronPython macro:
df.DataArea.ChildrenDF[df.DataArea.Customizing.get_df_by_name(DF-Python-ID)].GetValue[T]()
Microsoft .NET Framework