U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

Het afsluiten van Mercator controleren

0000002522     -      04-10-2015

In Mercator kunt u het afsluiten van Mercator controleren, en eventueel verrichtingen in een module activeren.

Deze module illustreert hoe u een gepersonaliseerde code moet uitvoeren bij het opstarten van Mercator. Deze code maakt gebruik van een customizer van het type Main, die de interface MercatorUi.ICustomizers.IExec implementeert.

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
using System.Reflection;
using System.Windows.Forms;

namespace Main
{
    public class Customizer : MercatorUi.ICustomizers.IExec
    {
        public void Main(MercatorUi.ICustomizers.ExecAction Action)
        {
            if (Action == MercatorUi.ICustomizers.ExecAction.DossierOpen)
            {
                System.Windows.Forms.Form form = (System.Windows.Forms.Form)MercatorUi.Globals.StarterMainForm;
                form.FormClosing += new System.Windows.Forms.FormClosingEventHandler(formClosingEventHandler);
            }
            if (Action == MercatorUi.ICustomizers.ExecAction.DossierClose)
            {
                System.Windows.Forms.Form form = (System.Windows.Forms.Form)MercatorUi.Globals.StarterMainForm;
                form.FormClosing -= new System.Windows.Forms.FormClosingEventHandler(formClosingEventHandler);
            }
        }

        void formClosingEventHandler(object sender, System.Windows.Forms.FormClosingEventArgs e)
        {
            System.Windows.Forms.Form form = (System.Windows.Forms.Form)sender;
            if (Dialogs.AnswerYesNo("Voulez-vous vraiment fermer Mercator ?"))
                form.FormClosing -= new System.Windows.Forms.FormClosingEventHandler(formClosingEventHandler);
            else
                e.Cancel = true;
        }
    }
}

 

Aruba / legacy versies
Daartoe moet u in de hoofddirectory van Mercator een bestand block_quit.fxp plaatsen, dat werd gecompileerd uit block_quit.prg. Deze module moet het volgende genereren:

  • return .T. om het afsluiten van Mercator tegen te houden,
  • return .F. om het afsluiten van Mercator toe te staan.

In het bijgevoegde zipbestand zit een eenvoudig voorbeeld van een "block_quit"-module.

Mercator reageert op dezelfde manier wanneer het bestand block_quit.mai (Mercator Assembly Info) wordt gedetecteerd; dit bestand zorgt immers voor de activering van een methode van een klasse van een dotnet-assembly. Deze methode moet een "Boolean"-type genereren.