Avatar billede laasby Nybegynder
08. september 2009 - 12:24 Der er 3 kommentarer og
1 løsning

Kald af COM objecter fra C5

Hej

Jeg har lavet et lille .vbs script, som jeg gerne vil kunne køre inde fra C5.

Istedet for at køre .vbs scriptet vha. et alm. kald til DOS, kunne jeg godt tænke mig at lægge vbs. koden direkte ind i C5, da det er nemmere at overføre værdier fra C5 af denne vej.

Er der nogen der ved hvordan man gør det?

EKSEMPEL:
Her er et eksempel på et .vbs script jeg gerne vil kunne køre (og jeg ved godt, at man kan opnå .vbs scriptets funktionalitet på anden vis, men det er for at få forståelsen af hvordan man gør, så jeg selv kan konvertere min egen kode til C5).

--------------------------------
Dim fso, drv, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set drv = fso.GetDrive(fso.GetDriveName("c:"))
s = "Fri plads på drev C: " & FormatNumber(drv.FreeSpace / 1024, 0) & " KB"
msgbox s
--------------------------------
Til alm. info så returnerer ovenstående .vbs script den fri plads på C: i antal KB.

og nej - der behøver ikke at komme en msgbox frem - der vil jeg hellere bruge C5's funktioner.
Avatar billede up2nogood Nybegynder
10. september 2009 - 09:22 #1
Hejsa,

Du har ikke fået meget hjælp her, og det er heller ikke lige til fra C5. Man har integreret det i kernen fra version 2008. Her er det muligt at kalde COM servere direkte. Men men men, det er langt fra ligetil. Man skal bruge Omvendt polsk notation og der er ikke et super gennemført API til at håndtere det.
Så har du version 2008, kan du prøve at kigge på det. Der findes eksempler i applikationen (søg efter COM eller COMAPI).
Der findes også et dokument om det: COMAPI Reference Manual.pdf.

Har du en version ældre end 2008, skal du have fat i Broholm IT, der har lavet en såkaldt XAC til håndtering af COM kald fra C5. Den fungerer super, men er ikke gratis. Denne kan også bruges til 2008, således du bliver "versions uafhængig", hvis du skulle have en løsning der skal rulles ud til flere...
Avatar billede laasby Nybegynder
11. september 2009 - 09:40 #2
Tak for de informationer.

Jeg har i mellemtiden løst det ved at lade C5 generere en .vbs fil, som jeg så starter bagefter - det virker fint og er versionsuafhængig.

Hvis du lægger et svar giver jeg point.

/Laasby
Avatar billede up2nogood Nybegynder
11. september 2009 - 10:11 #3
Hej igen,

For at gøre mig fortjent til points kan jeg komme med en ekstra information.
Microsoft regner med at gøre COM integrationen meget nemmere, men det sker ikke i version 2010, måske næste version.

Navision har en ret god integration til COM servere, og er en fornøjelse at bruge. Man kan håbe C5 folkene har mulighed for at snuppe lidt med arme og ben derfra. :)

Må man spørge til hvilken slags løsning du har fået lavet dig. Jeg kan ikke forestille mig, at løsningen er en boks der kommer frem og fortæller databaseplads efter hvert print. :o)
Avatar billede laasby Nybegynder
11. september 2009 - 15:06 #4
Tak for yderligere info - points hermed givet.

Mit lille projekt var at få overført en ordre med diverse ordreoplysninger (herunder notater), som en aftale i CRM systemet SuperOffice, når man trykker på en knap i C5's ordrekartoktek som hedder "SuperOffice aftale".

Helt ærlig var det der drillede mig mest, at få overført æøå samt linjeskift.

/Laasby
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