Introduction aux process

4D - Documentation   Français   English   German   Español   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant

version 11 (Modifiée)


Le multi-tâche dans 4D représente la possibilité d'exécuter simultanément plusieurs opérations de base de données distinctes. Ces opérations sont appelées des process.

Créer de multiples process équivaut à avoir plusieurs utilisateurs travaillant sur le même ordinateur, chacun effectuant sa tâche. Cela signifie principalement qu'une méthode peut être exécutée comme une tâche distincte de base de données.

Cette section traite les sujets suivants:

Créer et effacer des process

Eléments du process

Process créés par 4D

Process locaux et globaux

Verrouillage d'enregistrements entre process.

Note : Cette section ne traite pas les procédures stockées. Pour cela, reportez-vous à la section Procédures stockées dans le manuel de référence de 4D Server.

Créer un process séparé


Il existe plusieurs manières de créer un nouveau process :

Exécuter une méthode à partir du mode Développement en sélectionnant la case à cocher Nouveau process dans la boîte de dialogue d'exécution de méthode. La méthode choisie dans ce dialogue est la méthode process.

Les process peuvent être démarrés par les commandes de menu. Dans l'éditeur de menus, sélectionnez la commande de menu et cochez l'option Démarrer un process. La méthode associée à la commande de menu est la méthode process.

Utiliser la fonction Nouveau process. La méthode passée en paramètre à la fonction Nouveau process est la méthode process.

Utiliser la fonction Executer sur serveur afin de créer une procédure stockée sur le serveur. La méthode passée en paramètre à la fonction est la méthode process.

Un process peut être supprimé dans les conditions suivantes. Les deux premières sont automatiques :

Lorsque la méthode process a terminé son exécution,

Lorsque l'utilisateur quitte la base,

Si vous stoppez le process par le langage ou utilisez le bouton Stop dans le débogueur,

Si vous choisissez Tuer dans l'Explorateur d'exécution.

Un process peut créer un autre process. Les process ne sont pas organisés hiérarchiquement. Tous les process sont égaux, et cela indépendamment du process à partir duquel ils ont été créés. Une fois créé, le process vit indépendamment de celui qui l'a créé.

Eléments d'un process


Chaque process contient certains éléments spécifiques. Il y a trois types d'éléments bien distincts dans un process :

Eléments d'interface : Ce sont les éléments nécessaires à l'affichage du process.

Eléments de données : Ce sont les informations liées aux données de la base.

 Eléments de langage : Ce sont les éléments utilisés par le langage ou importants pour le développement de l'application.

Eléments d'interface

Les éléments d'interface sont les suivants :

Barre de menus : Chaque process a sa propre barre de menus courante. La barre de menus du process de premier plan est la barre de menu courante de la base.

Une ou plusieurs fenêtres : Chaque process peut contrôler plusieurs fenêtres ouvertes simultanément. A l'inverse, des process peuvent n'avoir pas de fenêtre du tout.

Une fenêtre de premier plan : Bien qu'un process puisse disposer de plusieurs fenêtres ouvertes simultanément, chaque process n'a qu'une fenêtre active. Pour avoir plusieurs fenêtres actives à la fois, vous devez démarrer plusieurs process.

Note : Les process exécutés sur le serveur (procédures stockées) ne doivent pas contenir d'éléments d'interface.

Eléments de données

Les éléments de données se réfèrent aux données de la base. Ce sont les suivants :

Sélection courante par table : Chaque process a sa propre sélection courante. La même table peut avoir différentes sélections courantes dans différents process.

Enregistrement courant par table : Chaque table peut avoir un enregistrement courant différent dans chaque process.

Note : Cette description des éléments de données est valide si les process sont des process globaux. Par défaut, tous les process sont globaux. Reportez-vous plus bas au paragraphe traitant de ce point.

Eléments de langage

Les éléments de langage d'un process sont tous les éléments liés à la programmation dans 4D.

Variables : Chaque process a ses propres variables process. Reportez-vous à la section Variables pour plus d'informations. Les variables process ne sont reconnues que dans le cadre de leur process natif.

Table par défaut : Chaque process a sa propre table par défaut. Cependant, notez que la commande TABLE PAR DEFAUT est seulement une convention de programmation.

Formulaires entrée et sortie : Les formulaires entrée et sortie par défaut peuvent être choisis par programmation pour chaque table et chaque process.

LockedSet et ensembles process : Chaque process a ses propres ensembles process. LockedSet est un ensemble process. Les ensembles process sont effacés dès que la méthode du process est terminée.

Appel sur erreur par process : Chaque process a sa propre méthode de gestion d'erreurs.

Fenêtre de débogueur : Chaque process peut avoir sa propre Fenêtre de débogueur.

Process utilisateur


Les process utilisateur sont des process que vous créez pour effectuer certaines tâches. Ils partagent le temps machine avec les process principaux. Les process de connexion Web sont des process utilisateur.

L'application 4D crée également des process pour ses propres besoins. Voici les principaux process créés et gérés par 4D :

Process principal : Le process principal gère les fenêtres d'affichage de l'interface utilisateur.

Process développement : Le process développement gère les fenêtres et éditeurs de l'environnement de Développement. Il n'y a pas de process développement dans une base compilée ne contenant pas de code interprété.

Process Server Web : Le process Server Web est créé lorsque la base est publiée sur le Web. Reportez-vous à la section Mise en route du serveur Web et gestion des connexions pour plus d'informations.

Process Gestionnaire du cache : Le process Gestionnaire du cache gère les entrées/sorties disque de la base. Ce process est créé dès que 4D ou 4D Server est lancé.

Process d'indexation : Le process d'indexation gère les index des champs de la base dans un process séparé. Ce process est créé lorsqu'un index est créé ou détruit pour un champ.

Process de Gestion d'événements : Ce process est créé quand une méthode de gestion d'événement est installée par la commande APPELER SUR EVENEMENT. Ce process exécute la méthode d'appel sur événement installée par la commande APPELER SUR EVENEMENT à chaque fois qu'un événement se produit. La méthode événement est la méthode process de ce process. Elle s'exécute continuellement, même s'il n'y a pas de méthode en exécution. La gestion d'événements fonctionne aussi en mode Développement.

Process globaux et locaux


La portée (l'aire d'action) des process peut être globale ou locale. Par défaut, tous les process sont globaux.

Dans la plupart des cas, vous utiliserez des process globaux. Les process globaux peuvent effectuer n'importe quelle opération, accéder aux données et les manipuler.

Les process locaux ne doivent être utilisés que pour des opérations qui n'accèdent pas aux données. Par exemple, vous pouvez utiliser un process local pour contrôler les éléments d'interface comme les palettes flottantes ou exécuter une méthode de gestion d'événements.

Attention : Si vous tentez d'accéder aux données à partir d'un process local, vous accédez aux données par l'intermédiaire du Process principal, et prenez donc le risque d'entrer en conflit avec les opérations effectuées dans ce process.

Vous spécifiez qu'un process est local par le biais de son nom. Le nom d'un process local doit commencer par le symbole dollar ($).

4D Server : Avec 4D Server, l'utilisation de process locaux côté client, pour des opérations qui ne nécessitent pas d'accès aux données, permet d'allouer davantage de temps machine à des tâches qui sollicitent intensivement le serveur.

Verrouillage d'enregistrements entre process


Un enregistrement est verrouillé pour un process lorsqu'un autre process l'a déjà chargé pour modification. Un enregistrement verrouillé peut être chargé par un autre process mais ne peut pas être modifié. L'enregistrement est déverrouillé seulement dans le process dans lequel l'enregistrement est modifié. Une table doit être en mode lecture/écriture pour qu'un enregistrement puisse être chargé non verrouillé. Pour plus d'informations, reportez-vous à la section Verrouillage d'enregistrements.

Référence

Méthodes, Méthodes projet, Variables.


4D - Documentation   Français   English   German   Español   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant