---------------------------------
-- D. Mathieu                  --
--                             --
-- fichier Essai16D.adb        --
--                             --
-- créé le 30/12/98            --
--                             --
---------------------------------
--
-- Initialisation d'une tâche par son discriminant
--
-- Le programme ci-dessous utilise un pointeur d'article pour passer
-- l'ensemble des paramètres à une tâche lors de son initialisation.

with Ada.Text_IO;
use  Ada.Text_IO;

procedure Essai16D is

    type T_Discri is
        record
            Delai : Duration := 1.0;
            -- toute autre donnée
        end record;
    type T_PtrDiscri is access all T_Discri;
 
    task type T_Tsk (PtrDiscri : T_PtrDiscri);
 
    task body T_Tsk is
 
    begin -- T_Tsk
 
        delay PtrDiscri.delai;
        Put_Line ("Fini");
 
    end T_Tsk;
 
    Discri1 : aliased T_Discri;
    Discri2 : aliased T_Discri := (Delai => 2.0);
    PtrDiscri2 : T_PtrDiscri := Discri2'access;

    Bidon1 : T_Tsk (Discri1'access);
    Bidon2 : T_Tsk (PtrDiscri2);
 
begin  -- Essai16B

    null;
 
end Essai16D;