4D v13

Video script

Home

 
4D v13
Video script

Video script  


 

 

In this video, we're going to learn about the life cycle of a process: birth, life and death.

Processes are often assimilated into multi-tasking jobs. They allow you to create several jobs simultaneously, without having to complete the first process before starting the second.

Let’s say that you want to access the statistic module that we set up in the previous videos. You want it to remain active while you do something else.
To do that, we will start the method in a process and allow the user to refresh the statistics by clicking a button that we’ll add in the form.

First, we're going to create the call to the Statistics dialog in the navigation form. We will:

  • Duplicate a button
  • And call it Stats

and in its method, just like we did for the 1st dialog, we will:

  • Create a container
  • Display the Stats dialog
  • Then close the window again.

Let's test this. We have a Stats button that displays information that interests us and we obtain the statistics.

However, we can no longer work on our navigation form since it is placed in the foreground.

There is a way to work with several windows; in this case, it is preferable to work with several different processes, which is what we're going to do now.

You create a process using the New process command, which must be called from a method.
Then we indicate:

  • which method must be executed in the process
  • the stack
  • the name of the process
  • and any parameters.

In the present case, we're going to create a method for displaying Stats (note that the name is placed in quotes) and this method will contain the creation of the form.

  • The stack doesn't really matter
  • The name of the process will be Statistics
  • And we don't need any specific parameters.

In 4D, there is a star parameter that you can pass as the last parameter and which can be used with many commands. This lets you avoid creating the same process multiple times. We're not going to use it for now, but you can refer to the documentation for more details about its use.

Now let's see how this works. If we click on the Stats button:

  • We still have the Stats form that appears
  • but this time we have the possibility of working in one window or the other.
  • of closing the process
  • of displaying it again
  • and at this level, it is even possible to display several of them since we did not use the star parameter.

It would even be possible, assuming that we configured the year in the form, to have the stats from one year and the stats from another year, on two different screens.

It is important to understand that when we use processes, each one has its own environment; in other words, if we perform a calculation here, we obtain certain items of information regardless of how many records there are.
We can decide to only take a few of them and our statistics will always be calculated based on all information contained in the table.

It is therefore necessary to understand that a process will have:

  • its own selections
  • and its own variables

If we have 2 processes executing the same method, each one can have different information.

When several processes are created and we ask for a trace, 4D shows all the processes that were created:

  • standard processes created by 4D
  • plus the ones that we have created, like the Statistics process.

So it is possible to trace it and when we are going to "calculate", it's the method of the button that we clicked on that is traced.

If we trace another process, we can see the trace mode of this process appear here.

At the beginning of this video, we mentioned the creation, life and death of a process.

Let's look at these 3 stages:
1st, the creation of the process: New process is going to create it.

To trace what is running in a New process, you must use this button: a 2nd trace window appears for tracing the "Statistics" method that is being executed.

Next a method runs and during this period, the process is alive.

  • We can do a number of things such as:
  • inter-process exchanges
  • or drag and drop.

This process is killed when the method that was executed when it was created is finished:

  • Here, we go back to the initial method that was executed when the process was created
  • The window closes
  • The method ends
  • And the process is killed

If we do a trace, we no longer see the "Statistics" process.

 
PROPERTIES 

Product: 4D
Theme: Processes