Avatar billede bomann Nybegynder
22. juni 2006 - 23:34 Der er 13 kommentarer og
1 løsning

COM object i C#

Hvordan laver man et COM object eller en ActiveX i C#?

Jeg vil gerne lave et COM object eller en OCX i C#, der eksporterer en function der efterfølgende kan kaldes fra ASP eller lignende. Functionen skal bare returnere en streng.

Hvilken project skal man starte i VS2005?
Hvordan skal eksport functionen defineres?
Skal man bruge regsvr32 eller hvordan registreres dll'en?

Svar på ovenstående samt eksempel ønskes :)
Avatar billede nielle Nybegynder
23. juni 2006 - 06:03 #1
Det kan du desværre ikke i C# (eller i VB.Net eller i J#).

Hvis du har mulighed for at lave C++ i din VS2005 så kan det til gøres der. Det er dog lidt langhåret at gå igang med:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/manunmancode.asp

Problemet er at du ønsker at eksponere din "managed code" (dit C# program) til "unmanage code" (via dit COM-interface), og det er altså kun i C++ projekterne at dette er understøttet.

http://www.google.dk/search?hl=da&q=Unmanaged+code+managed+code+C%23&meta=
Avatar billede bomann Nybegynder
23. juni 2006 - 09:36 #2
Hmm... Det forklarer måske hvorfor jeg har haft svært ved at finde et eksempel.

Hvordan kan man så fra f.eks. ASP, kalde C# code - hvis det da kan lade sig gøre!?
Avatar billede nielle Nybegynder
23. juni 2006 - 09:53 #3
Svaret er stadig det samme: Det kan gøres med C++ versionen af Visual Studio. En sådan applikation behøver dog ikke at være særlig "tyk" - den kan nøjes med at bestå af kode som oversætter fra unmanaged kode (ASP) til managed kode (f.eks. en DLL implementeret i C#).

Alternativt kan du overveje om du skulle tage skiftet til ASP.Net og her er der ingen problemer overhovedet.

Hvis du allerede har en masse ASP-kode er du selvfølgelig ikke specielt interesseret i at smide den ud, men så kan du måske nøjes med en "bastard-løsning" hvor du blander sider skrevet i ASP med sider skrevet i ASP.Net. Det kan lade sig gøre, men det er langt fra en optimal løsning.
Avatar billede bomann Nybegynder
23. juni 2006 - 10:28 #4
Jeg må hellere læse lidt i en bog inden jeg stiller flere "dumme" spørgsmål :)

Jeg tror løsningen bliver ASP vs Delphi ActiveX - men hvis du siger at integrationen mellem C# og ASP.NET giver større fleksibilitet, er det da værd at kigge på...

Post er svar, så du kan få pointene ;)
Avatar billede nielle Nybegynder
23. juni 2006 - 10:47 #5
Spørgsmålet et ikke dumt, og du er bestemt hverken den første eller den sidste som stiller det. Personligt undre jeg mig mere over at Microsoft ikke har inkluderet muligheden i sine andre .Net sprog.

ASP.NET er ikke et spørgsmål om "ASP.NET vs. C#". ASP.NET kan simpelthen skrives i C#. Du kan selvfølgeligt også overveje om du hellere vil skrive det hele i VB.Net (som jo ligner det VB Script du sikkert normalt kender fra ASP) og det vil også virke.
Avatar billede nielle Nybegynder
29. juni 2006 - 18:01 #6
Så mangler du bare at acceptere svaret :^)
Avatar billede bomann Nybegynder
30. juni 2006 - 11:56 #7
Done
Avatar billede bomann Nybegynder
30. juni 2006 - 11:58 #8
Hvorfor bliver den ved med at skrive besvaret uden accept af svar - nu har jeg klikket accepter 3 gange :S
Avatar billede bomann Nybegynder
30. juni 2006 - 12:00 #9
Prøv lige at poste et nyt svar!? :S
Avatar billede hmortensen Nybegynder
30. juni 2006 - 12:00 #10
Du skal markere navnet i boksen, og så trykke acceptér.
Avatar billede bomann Nybegynder
30. juni 2006 - 12:10 #11
smukt
Avatar billede nielle Nybegynder
30. juni 2006 - 16:23 #12
Takker for point :^)
Avatar billede bomann Nybegynder
30. juni 2006 - 18:21 #13
Det var så lidt - jeg er blevet lidt klogere - så der er et nyt spørgsmål :)

http://www.eksperten.dk/spm/718430
Avatar billede nielle Nybegynder
30. juni 2006 - 19:06 #14
Jeg følger meget interesseret med der :^)
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