---
title: "Com ifrån .net-class"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/135303-com-ifrån-net-class"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Travoni"
published: "2005-10-05T09:47:18.000Z"
updated: "2005-10-09T13:55:07.000Z"
replies: 7
views: 389
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/135303-com-ifrån-net-class"
---

# Com ifrån .net-class

## #1 — Travoni, 2005-10-05T09:47Z

Jag försöker att göra en com.tlb ifrån en .net class enligt:
<http://www.codeproject.com/vb/net/MusaExposingCOM.asp>
Jag har kört den i regasm osv utan problem.
Allt går bra tills jag skall köra den i vb6 då jag får "Automation error -2147024894".

I minclass.vb

```
Imports System.Runtime.InteropServices

<Guid("32D6721D-062C-454a-A786-FDE9CB733FAB"), _
InterfaceType(ComInterfaceType.InterfaceIsIDispatch)> _
Public Interface _demo
    <DispId(1)> Function Concat(ByVal s1 As String, ByVal S2 As String) As String
    <DispId(2)> ReadOnly Property ErrorMsg() As String
End Interface

<Guid("EFFFC0FA-648C-487f-8BDF-3F394F169B35"), _
ClassInterface(ClassInterfaceType.None), ProgId("comDemo.demo")> _
Public Class demo : Implements _demo
    Private csError As String ' stores the error message
    Public ReadOnly Property ErrorMsg() As String Implements _demo.ErrorMsg
        Get
            Return csError
        End Get
    End Property
    Public Function Concat(ByVal str1 As String, ByVal str2 As String) As String Implements _demo.Concat
        Return str1 & " " & str2 & " Tid: " & Now().ToString
    End Function
End Class
```

 
I vb6:

```
Set obj = CreateObject("comDemo.demo")
MsgBox (obj.concat("Ett", "Två"))
```

Vad är fel?

Permalänk: https://www.webforum.nu/p/135303

## #2 — Jesper T, 2005-10-07T11:54Z

Felpostat...

Inlägget känns felpostat, skulle passa bättre i .net-forumet.

Permalänk: https://www.webforum.nu/p/1682345

## #3 — clarkbones, 2005-10-07T14:28Z

Har du lagt NET-dll:en i samma mapp som den VB6-exe:n?

Permalänk: https://www.webforum.nu/p/1682396

## #4 — Travoni, 2005-10-07T14:59Z

Nix tlb-filen ligger i system32 och assemblyn, behövs den? Den ligger i .net mappsystemet någon stans.

Permalänk: https://www.webforum.nu/p/1682413

## #5 — Travoni, 2005-10-07T15:19Z

Nu har jag testat att lägga tlb:n och dll:en i samma. Kompilerat om och kört om regasm utan framgång.

Permalänk: https://www.webforum.nu/p/1682422

## #6 — Travoni, 2005-10-07T20:10Z

Yes, nu funkar det ju. Om jag gör som du säger. lägger exefilen i samma mapp som dll:en och tlb-filen.

Men jag testade och lägga över det hela på en burk utan .netframework men då gick det inte alls och det var ju lixom det som var tanken.

Hur gör jag då?

Permalänk: https://www.webforum.nu/p/1682505

## #7 — clarkbones, 2005-10-07T20:41Z

Det du vill går nog inte. Regasm & tlb-varianten fungerar endast som en länk/wrapper mellan COM och .NET. För att kunna exekvera .NET-kod måste frameworket installeras. Så har jag fattat det i a f.

Permalänk: https://www.webforum.nu/p/1682514

## #8 — emission, 2005-10-09T13:55Z

<http://www.webforum.nu/showthread.php?p=1088052#post1088052>

Permalänk: https://www.webforum.nu/p/1685803

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/135303-com-ifrån-net-class
