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

Een assembly oproepen vanuit Mercator

0000001367     -      16-05-2011
Verouderd

Mercator voorziet twee X-functies waarmee makkelijk assemblies kunnen worden opgeroepen en waarbij op een transparante manier gebruik wordt gemaakt van het "wrapper"-systeem vermeld op deze pagina:

Gebruik van Xdotnet

De functie Xdotnet laat toe om rechtstreeks een object te creëren dat gegenereerd wordt op basis van een klasse in een assembly. Er kunnen parameters worden doorgestuurd naar de constructeur (init) van deze klasse. Als dit object gecreëerd is, vermeldt Xdotnet het. Mislukt de creatie echter, dan volgt er een tekenreeks met daarin het foutbericht.

Voorbeeld:

local le_ox_dotnet,la_dll,la_classe
la_dll=addbs(m.DIR_MERC)+'MercatorPtPda.dll'
la_classe="MercatorPtPda.Class1"
le_ox_dotnet=xdotnet(m.la_dll,m.la_classe)
if type('m.le_ox_dotnet')='C'
     stop(m.le_ox_dotnet)
     return
endif

vanaf deze regel kunnen alle methodes en eigenschappen van de gedefinieerde klasse worden gebruikt op de variabele le_ox_dotnet.

Bijvoorbeeld:

ret=le_ox_dotnet.SdfConnect(addbs(m.rep_data))

Als er parameters moeten worden bezorgd aan de constructeur van de klasse, dient men deze klasse in het xdotnet-commando(m.la_dll,m.la_classe) rechts van "m.la_classe" toe te voegen.

Bijvoorbeeld:

xdotnet(m.la_dll,m.la_classe,m.param1,m.param2,m.param3)

 

Gebruik van XdotnetStatic

De functie XdotnetStatic biedt de mogelijkheid om een statische methode van een statische klasse in een assembly te beoordelen. Er kunnen parameters worden doorgestuurd naar deze statische methode. Als de evaluatie van deze methode positief is, zal XdotnetStatic dit vermelden. Mislukt de evaluatie echter, dan volgt er een tekenreeks met daarin het foutbericht.

Voorbeeld: return xdotnetStatic(addbs(m.dir_merc)+"MercatorTunnel.dll","MercatorApi.Api","XencodeUrl",m.l_url)



Gebruik van XdotnetUi

De functie XdotnetUi laat op haar beurt toe om rechtstreeks een object te creëren dat gegenereerd wordt op basis van een klasse in een assembly. Dit object moet een visuele component zijn en kan automatisch worden toegevoegd aan een Visual FoxPro-venster in Mercator. Dit venster moet worden geïdentificeerd door zijn HWND, unieke handle, beschikbaar als venstereigenschap in Mercator. Er kunnen ook parameters worden doorgestuurd naar de constructeur (init) van deze klasse. Als dit object gecreëerd is, vermeldt XdotnetUi het. Mislukt de creatie echter, dan volgt er een tekenreeks met daarin het foutbericht.

Voorbeeld:

xdotnetUi(m.la_dll,m.la_classe,_screen.hwnd,m.param1,m.param2,m.param3)

Zie ook deze pagina's: voorbeeld 1, voorbeeld 2.
.


Gebruik van XdotnetFromMai

De functie XdotnetFromMai biedt de mogelijkheid om in één enkele handeling hetzij een eigenschap, hetzij een methode van een klasse in een assembly te beoordelen. Alle parameters voor deze ene handeling worden opgeslagen in een MAI-bestand (Mercator Assembly Info - XML-formaat) dat in Mercator gegenereerd en bewerkt wordt. Deze editor is beschikbaar via de knop rechts op het tabblad ".Net" van "Tools / Prompt Fox".

xmleditor

De zones van deze editor worden als volgt ingevuld:

  • module: optionele module geschreven in Xbase, die uitgevoerd zal worden voor de oproep van de klasse. Deze module berekent doorgaans de parameters die aan de constructeur of aan de opgeroepen methode doorgestuurd worden;
  • assembly: localisatie van de te bewerken assembly. Zodra dit bestand geselecteerd is, geeft Mercator automatisch de beschikbare klassen, alsook de methodes en eigenschappen in deze klassen weer;
  • class: selectie van de te gebruiken klasse. Rechts van deze zone kunnen de parameters worden gespecificeerd die aan de constructeur van deze klasse moeten worden bezorgd. De parameters moeten van elkaar worden gescheiden door een komma;
  • member: selectie van de te evalueren eigenschap of methode in deze klasse. Als een methode gekozen is, geeft Mercator onderaan automatisch de lijst weer van de door deze methode vereiste parameters, met vermelding van de naam en het type van de parameter. De aan deze methode door te sturen parameters moeten worden aangevuld.

Als er zich een fout voordoet in het door XdotnetFromMai gelanceerde proces, verschijnt er een dialoogvenster en wordt de fout ook vermeld door de functie.



De pagina die u wenst te bekijken heeft betrekking op een versie van Mercator die commercieel niet meer beschikbaar is en niet meer wordt ondersteund.

Mercator is een applicatie .net en maakt gebruik van een database SQL Server. De gegevens op deze pagina stemmen niet overeen met deze eigenschappen.