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

Algemene informatie over de OLE-koppeling met Mercator Majuro

0000002366     -      27-03-2017

Mercator Majuro beschikt over een OLE component dat ons toelaat om verschillende functionaliteiten van externe applicaties te gebruiken binnen Mercator, zoals MS Excel.In vergelijking met de vorige versie, heeft de huidige OLE-component het voordeel dat hij zowel in een 32-bit als in een 64-bit omgeving werkt. Door nadelen werden verschilldende functionaliteiten stopgezet, omdat ze eenvoudiger beschikbaar zijn.

Deze functies die niet rechtstreeks opgenomen zijn in de OLE van Majuro zijn in principe alle methodes die gebruikt worden door de engines van Mercator: creatie van documenten uit het commercieel beheer, creatie van boekingen,... (Als deze functies altijd nodig zijn in een ontwikkelomgeving op basis van OLE, dan moet men hen bereiken via gepersonaliseerde codee: cfr methode EvalFromCode)..

De OLE-component van Mercator Majuro bestaat uit een .NET assembly, waarin de OLE-DCOM volgende methoden onthuld:

  • bool Initialize(string mainDir, string idDossier, string userLogin, string userPassword): initialisatie van de Mercatoromgeving
     
  • string Test(): retourneert een string die aangeeft of het OLE-component goed geïnstantieerd werd
     
  • string GetLastError(): retourneert de laatst opgetreden error
     
  • void Dispose() of Terminate(): sluit het OLE-component en ontlaad de Mercator omgeving
     
  • object EvalInGlobals(string property): evaluatie van een propertie in MercatorUi.Globals.
     
  • string EvalInParams(string key): evaluatie van een algemene Mercator-optie
     
  • string EvalInParamPos(string key): evaluatie van de optie "Uitrusting kassa" van Mercator
     
  • string EvalInParamParamIdentif: evaluatie van een parameter "Tools/Identificatie"
     
  • object EvalFromCode(string assembly, string className, string method)
    object EvalFromCode_2(string assembly, string className, string method, object parameter1)
    jusque
    object EvalFromCode_10(string assembly, string className, string method, object parameter1, object parameter2, object parameter3, object parameter4, object parameter5, object parameter6, object parameter7, object parameter8, object parameter9) : : evaluatie van een methode in een aangepaste assembly en een objectklasse op maat. (Meer info op deze pagina.)
     
  • Het merendeel van beschikbare xFuncties bevindt zich in de klasse MercatorController.xFunctions
     
Installatie:
 
Het zip-bestand op de pagina mercatorole.net.dll-version-majuro.html bevat het .NET OLE-component van Mercator Majuro, te ontzippen in de hoofddirectory van Mercator. (Indien de bijlagen lokaal geïnstalleerd zijn, volstaat het om de .dll extensie te wijzigen in dll~, en vervolgens Mercator herstarten zodat deze dll gekopieerd wordt naar de lokale directory van Mercator. Het tlb-bestand en de cmd-bestanden moeten ook gekopieerd worden naar de lokale directories.
 
De component moet vervolgens ingeschreven worden in het register van elke computer waar hij zal worden geregistreerd. Dit gebeurt door de trigger
  • Register32.cmd voor een gebruik vertrekkend uit een extern 32-bit programma (bijvoorbeeld MS Excel 32-bits)
  • Register64.cmd voor een gebruik vertrekkend uit een extern 64-bit programma (bijvoorbeeld MS Excel 64-bits)
Opmerkingen:
  • Het is goed dat het extern programma dat de OLE-component zal instantiëren de keuze voor 32-bit of 64-bit bepaalt (en niet enkel de OS - Een Excel 32-bits gebruikt op een Windows 64-bit zal het gebruik vragen van een 32-bit OLE-component)
  • Op dezelfde computer is het niet mogelijk om zowel een 32-bit als 64-bit versie te installeren.
Wij leveren een eenvoudig programma dat u toelaat om te na te gaan of de installatie correct uitgevoerd is.

Indien het testprogramma een dialoogvenster weergeevt met de naam van de Mercator-licentie, is de lokale installatie functioneel.

Het programmaID van de OLE-component is mercatorole.net.xmercator. Dit betekent dat het instantiëren in functie van de taal zal gedaan worden met een commando:

Set ox = CreateObject("mercatorole.net.xmercator")

Vervolgens moet de omgeving geïnitialiseerd worden via volgend commando:

ox.Initialize("M:\Test\MercatorMajuro", "", "Guy", "guy")

De method Initialize retourneert true of false, met de succes-melding van het commando. Indien false geretourneert wordt, kan de error verkregen worden via de functie

ox.lastError ou ox.GetLastError'()

Na gebruik van de component, moet men volgend commando uitvoeren

ox.Terminate()
Set ox = Nothing

 

Voorbeelden en toepassingen: