Pass by reference example

A Score Level 1

Can someone explain me any scenario where we can use pass by reference under subprocess ? Is pass by reference valid only for asynchronous type sub process?

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer

    The easiest example I can think of is, in the parent process you have a boolean PV value (initialized to FALSE) which would indicate when processing within a subprocess has completed (or passed a certain point).  You pass this boolean value by reference into the subprocess, and when the subprocess sets the value to TRUE instead, the parent process's PV value will also be updated - this could be used to drive a rule node to move some other process forward in the parent process.

    Passing by reference is definitely valid for synchronous processes most commonly, though apparently it can also be used for asynchronous process calls (i forget whether i've tried this myself).  Also per the documentation, note that values can't be passed by reference from the Start Process node (there aren't even any apparent configuration options close to it).

  • Honestly I don't see pass by reference used very often with asynchronous processes. The issue is that the processes are entirely independent, so your parent process could complete before the child process updates the variable (or vice versa). If you plan on waiting for a variable value to change in your process, it's probably better to just use a synchronous sub-process.

    Do you have a use case in mind where you are planning to use pass by reference?

  • 0
    Certified Lead Developer
    in reply to Peter Lewis
    I don't see pass by reference used very often with asynchronous processes.

    Same here - though assuming it actually works, I could see certain use cases where the parent process (assuming it's still running at any given point) could benefit from a bit of visibility into what's currently happening in an async subprocess.  I forget if I've ever actually done this, though.

Reply Children
No Data