Avatar billede MikkelNielsen Nybegynder
13. september 2011 - 10:56 Der er 2 kommentarer

Navision og .NET datatyper

Hej,

Jeg har skrevet en lille utility-dll i C#, som jeg ønsker at bruge fra Navision. For øjeblikket har jeg kun én metode, som ser således ud:

public XmlDocument DoSomething( string arg ) { ... }

Fra Navision kan jeg godt kalde DoSomething(), men den kvitterer med:

Denne meddelelse er til C/AL-programmører:

Varianten har fundet en inkompatibel datatype.

Jeg gætter på, at Navision og .NET ikke nødvendigvis har samme opfattelse af, hvad et "XmlDocument" er.

Allerhelst skulle min metode gerne returnere en streng, den streng vil typisk være noget større end Navision kan håndtere. Derfor tænkte jeg, at jeg kunne pakke strengen ind i et XmlDocument.

Er der nogle forslag til, hvordan jeg kan løse dette problem?
Avatar billede sgaardbo Nybegynder
21. september 2011 - 09:32 #1
Hej,

Du kan generelt ikke bruge .net typer i Navision. Hvis du har brug for at returnerer et XmlDocument fra din metode kan du bruge COM:

Du skal have en reference til System.Runtime.InteropServices og returnere en MSXML2.DOMDocument i stedet for .nets XmlDocument.

I din kode i Navision skal erklærer du en variabel af typen 'Automation' med reference til f.eks. "Microsoft XML, v3.0".DOMDocument. Denne variabel tildeler du returværdien fra din metode.

Det kan virke lidt omstændigt, men det kan sagtens lade sig gøre.
Avatar billede MikkelNielsen Nybegynder
29. september 2011 - 20:22 #2
Tak for det. Det var noget i den stil, jeg efterspurgte. :) Smid et svar, så skal jeg nok acceptere det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester