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

0000002366     -      10-05-2023

Mercator beschikt over een OLE component dat ons toelaat om verschillende functionaliteiten van externe applicaties te gebruiken binnen Mercator, zoals MS Excel.

De OLE-component van Mercator 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)
    tot
    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.
     
  • Het merendeel van beschikbare xFuncties bevindt zich in de klasse MercatorController.xFunctions
     
Installatie op basis van het klassieke .NET framework
 
Het zip-bestand op de pagina mercatorole.net.dll-version-majuro.html bevat het .NET OLE-component van Mercator, 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)
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.

 

Installatie op basis van het Core .NET framework
 
Er is een 32-bits versie en een 64-bits versie van MercatorOle.

Te ontzippen in de hoofddirectory van Mercator.

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)

Het cmd-bestand moet worden aangepast met het pad naar de Mercator-directory.


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.

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\Mercator", "", "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: