The documentation from version 39.5.17 of PLANTA project can be found in the new PLANTA Online Help.

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

    • Insert the following code prior to the import statement of the target module:
      sys.modules.Remove("MyModule")
    • After the statement above, place your unchanged import statement:
      from Current.MyModule import Current.MyModule
    • The conditions for your AddReference-statement stays the same as before - it needs to stay prior to your import statement but it can stay before or after the statement of step 1.

    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

    Method Parameter Return value Comment
    df   Returns the DF the IronPython script was executed from  

    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

    Topic attachments
    I Attachment History Size Date Comment
    Chmchm Iron_python_API_C39521.chm r1 330.1 K 2017-09-13 - 09:25  

             PLANTA project









     
    • Suche in Topic-Namen

    • Suche in Topic-Inhalten
    This site is powered by the TWiki collaboration platform Powered by Perl