Introduction aux process

4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant

version 6.0


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 trois manières de créer un nouveau process :

Exécuter une méthode à partir du mode Utilisation 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 de l'environnement Structure, 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.

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

Lorsque la méthode process a terminé de s'exécuter,

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 le menu Process du mode Structure.

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.

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.

UserSet, LockedSet et ensembles process : Chaque process a ses propres ensembles process. UserSet et LockedSet sont des ensembles 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.

Voici les process créés et gérés par 4D :

Process principal : Le process principal gère les environnements Utilisation et Menus Créés. L'écran d'accueil par défaut de l'environnement Menus créés est aussi une partie du process principal. Ce process est créé à l'ouverture d'une session 4D.

Process de structure : Le process de structure gère le mode Structure, qui fonctionne dans un process séparé. Le process de structure peut être fermé par la commande Quitter le mode Structure du menu Fichier en mode Structure. Il n'y a pas de process de structure dans une base compilée. Le process de structure est créé uniquement lorsque l'utilisateur entre dans l'environnement structure pour la première fois de la session. Si l'application s'ouvre par défaut en mode Utilisation ou Menus créés, le process n'est pas créé.

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 Structure.

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é.

Référence

Méthodes, Méthodes projet, Variables.


4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant