Bonjour Pascal,
> La déclaration de SQL_Ping à ce niveau fait qu'elle démarre dès son
> élaboration.
D'accord... je comprends.
> Et donc sans doute avant l'initialisation de quelques codes utiles à
> Msg.Std que permet l'ajout du delay.
Ahhhh...
> Ce qui rend le fonctionnement très dépendant de beaucoup de choses :-(
> Du coup, dans ces cas là, j'ajoute toujours un "accept Start" (à la
> place de ton "delay 0.1;") qui va attendre un appel à "Start" que tu vas
> pouvoir mettre dans ton code une fois que tout a été initialisé.
> Autres astuces:
Trop bien tes astuces !!! Tout implémenté, ça gaze nickel e!
Grand merci pour ton aide...
----------------------------------------------------------------------------
function Image is new UXStrings.Conversions.Fixed_Point_Image
(Duration);
----------------------------------------------------------------------------
task SQL_Ping is
entry Start;
end SQL_Ping;
task body SQL_Ping is
Delay_Value : Duration := 3600.0; -- Wait 1 hour between pings
begin
accept Start;
Msg.Std ("TestGui.SQL_Ping > Armed for " & Trim_Left
(Field_By_Index (Image (Delay_Value), 1, ".")) & "s cycles");
loop
delay Delay_Value;
Msg.Dbg ("TestGui.SQL_Ping > Sent");
Sql.Ping;
end loop;
end SQL_Ping;
-------------------------------------------------------------------------------
begin
if Ini.App then
Gnoga.Log
("------------------------------------------------------------------------");
-- To ease gnoga log file reading
Gnoga.Log ("Starting Gnoga server");
Msg.Std ("TestGui.On_Connect > Starting Gnoga server");
Gui.Setup (On_User_Connect => Usr.Connect'Unrestricted_Access,
Host => App_Config_Datas.Connection_Domain,
Port => App_Config_Datas.Connection_Port,
Boot => "boot_jqueryui.html",
Title => App_Name_Gui,
Server_Closed_Content => "<b>" & App_Name_Gui & " >
Déconnexion serveur</b>");
Gui.Set_Application_Icon ("ico-widget.png");
Gui.Set_User_Icon ("ico-user.png");
Gui.Set_Login (Off); -- Application access is protected by a
login screen. Set-it to Off to ease tests and debugging
-- Application menu hierarchy
Gui.Header_Set_Root ("App_Menu", App_Name_Gui,
On_Mgt'Unrestricted_Access);
Gui.Header_Application_Menu_Add ("Mgt", "Gestion", "App_Menu",
On_Mgt'Unrestricted_Access);
Gui.Header_Application_Menu_Add ("Adm", "Administration",
"App_Menu", On_Adm'Unrestricted_Access);
-- Start Sql_Ping task
SQL_Ping.Start;
-- Application message loop
Gnoga.Application.Multi_Connect.Message_Loop;
end if;