Programmeerstijl: gebruik van de klasse Main van MercatorUi

0000001924     -      09-09-2025

In Mercator is het mogelijk om te beschikken over gemeenschappelijke (statische) globale variabelen voor de verschillende processen van deze klassen. 

mainglobals

De meeste beschikbare statische variabelen hebben een begrijpelijke naam die geen commentaar behoeft. Een aantal worden hieronder toegelicht:

  • CurrentUser: DataRow met alle velden uit de USER-tabel voor de actieve gebruiker
    Voorbeeld: naam van de gebruiker: MercatorUi.Globals.CurrentUser["NOM"].ToString()
  • ExternalGen: DataTable met het boekhoudplan van een andere boekhouding dan Mercator
  • ExternalAna: tabel (array) van 9 DataTables waarvan elk element de bijbehorende analytische rekening weergeeft (dat de analytische rekeningen van een andere boekhouding dan Mercator bevat). Indien de rekening niet bepaald werd, dan is het bijbehorende element in de tabel leeg. Rekening nr 1 hoort bij element nr 0 van de tabel, rekening nr 2 hoort bij element nr 2 van de tabel, ...
  • ExternalObjects: woordenboek <string, object> met de processen van klassen geladen door InstanciateExternalClass
  • iw: IWin32Window in te voeren als parameter in Show() of ShowDialog()
  • Main: gericht naar de klasse MercatorUi.Main
  • ParamIdentif: woordenboek <string,string> met alle inputs van "Tools / Identificatie"
  • ParamPos: woordenboek <string,string> met alle inputs van "Uitrusting Kassa"

  • Bijvoorbeeld: geldladepoort: MercatorUi.Globals.ParamPos["PORT_TIR"]

  • Params: woordenboek <string,string> met alle inputs van OPTIONS 
    Voorbeeld: optie "Backorders uit verkoop": MercatorUi.Globals.ParamPos["X_BO_V"]

Zoals hierboven aangegeven, bevat Main.Globals een correct door Mercator geïnitialiseerde Tunnel. Hierdoor is het dus niet nodig om deze procedure te activeren voor iedere assembly. Wat leidt tot een beter beheer van het geheugen en een sterk vereenvoudigde invoering van assemblies.

De globale variabelen worden geïnitialiseerd bij het opstarten van Mercator. Daarna wordt hun waarde doorlopend up-to-date gehouden door Mercator. Bijvoorbeeld:

  • bij een verandering van gebruiker: CurrentUser, Langue,  DateDMY, UserId, ... worden geactualiseerd
  • na bewerking van de opties: de waarden van het Params-woordenboek worden aangepast
  • na bewerking van de kassa-uitrusting: de waarden van het ParamPos-woordenboek worden aangepast
  • ...

Opmerkingen

  • Er moet in uw project een verwijzing naar MercatorUi.dll worden toegevoegd.
  • Als uw klasse niet door Mercator wordt opgeroepen (project volledig los van Mercator), zullen deze globale variabelen gewoon een standaardwaarde vermelden, die uiteraard nooit geactualiseerd zal worden (bijgevolg zijn deze globale variabelen dus niet bruikbaar in bijvoorbeeld een ASP.net-project).


Functionele cookies: Cookies die nodig zijn voor het gebruik van de website en voorkeurscookies. Ze bevatten geen persoonsgegevens. (Meer informatie)

Analytische cookies: Verzamelen van statistieken met betrekking tot het gedrag van internetgebruikers. (Meer informatie)

Marketingcookies: Om bezoekers op verschillende websites te volgen voor advertentiedoeleinden. (Meer informatie)