tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von MCoder
ERLEDIGT
JA
ANTWORTEN
8
ZUGRIFFE
1165
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Hackbard_C Hackbard_C ist offline Rookie
    Registriert seit
    Apr 2007
    Beiträge
    7
    Hi,

    ich stehe vor dem Problem, daß ich eine Klasse in VB.NET habe, diese nun aber in Visual C++ nutzen möchte... ich habe schon gelesen, daß des möglich sein soll, bisher aber keine Anleitung dazu gefunden - vielleicht weiß ja hier wer Rat?

    Vielen Dank im Vorraus
    Hackbard_C
     

  2. #2
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi

    Du musst die entsprechenden Klassen als DLL kompilieren. Wenn du die DLL unter C++.NET nutzen willst, kannst du sie ganz normal als .NET-Assembly referenzieren. Um sie unter Native C++ zu nutzen müssen sowohl die DLL als auch die Klassen COMVisible sein und die DLL mit regasm.exe registriert werden.
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  3. #3
    Hackbard_C Hackbard_C ist offline Rookie
    Registriert seit
    Apr 2007
    Beiträge
    7
    Und wie mach ich das?

    Also als DLL kompilieren war mir klar, das hatte ich auch schon gemacht.. einfach bei VB als Klassenbibliothek.. fertig - aber wie/wo binde ich die nun bei C++ ein?

    Via #import geht nicht.. als .NET-Referen auch nicht.. ich find nirgendwo einen Punkt der etwas mit "Assembly" zu tun hat...

    Hackbard_C
     

  4. #4
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    um was handelt es sich denn nun? Native C++ oder C++.NET?
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  5. #5
    Hackbard_C Hackbard_C ist offline Rookie
    Registriert seit
    Apr 2007
    Beiträge
    7
    Letzteres... .NET.. . sowohl VB als auch C++... deswegen dachte ich auch, daß das (eigentlich) ganz einfach sein müßte, da doch in .NET eh alles in diese Common Language übersetzt wird..

    *edit*
    /clr als Compiler-Option ist auch schon aktiviert.

    Und als Fehlermeldung bekomme ich btw:
    fatal error C1083: Cannot open type library file: 'd3plotreader.dll': Fehler beim Laden der Typbibliothek/DLL.

    *edit2*

    Ok, habs jetzt als Verweis eingefügt bekommen.. und dass läßt sich kompilieren. .das ist ja schon mal was.. aber wie nutz ich meine Klasse nun? Wenn ich es wie eine normale C++-Klasse nutzen will geht es nicht :S
    Geändert von Hackbard_C (19.06.07 um 09:45 Uhr)
     

  6. #6
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Zitat Zitat von Hackbard_C Beitrag anzeigen
    aber wie nutz ich meine Klasse nun? Wenn ich es wie eine normale C++-Klasse nutzen will geht es nicht :S
    Also, wenn du z.B. die using-Direktive einfügst:
    Code cpp:
    1
    
    using namespace name_des verweises;
    solltest du die Klasse eigentlich benutzen können, oder wie genau äußert sich das Problem?

    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  7. #7
    Hackbard_C Hackbard_C ist offline Rookie
    Registriert seit
    Apr 2007
    Beiträge
    7
    Jop, das hatte ich auch schon eingefügt... aber wenn ich jetzt
    Code :
    1
    
    d3plotReader reader("meinFile.txt");

    benutzen will, dann bekomme ich folgende Fehlermeldung:

    error C2882: 'd3plotReader' : illegal use of namespace identifier in expression
    error C2146: syntax error : missing ';' before identifier 'reader'
    error C3861: 'reader': identifier not found
    Wobei natürlich die erste Fehlermeldung die verursachende ist..

    meine Klasse heißt in VB "d3plotReader"... deswegen habe ich die DLL auch "d3plotReader.dll" genannt.. aber wie gesagt.. nun kann ich die Klasse nicht nutzen.. und auch mit mit "d3plotReader::[xx]" finde ich nicht meinen Konstruktor o.ä.
     

  8. #8
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Hast du die Klasse in der DLL auch explizit als "public" deklariert?
    Hackbard_C bedankt sich. 
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  9. #9
    Hackbard_C Hackbard_C ist offline Rookie
    Registriert seit
    Apr 2007
    Beiträge
    7
    Zitat Zitat von MCoder Beitrag anzeigen
    Hast du die Klasse in der DLL auch explizit als "public" deklariert?
    *muhaha* *lol*

    Ich liebe solche -Fehler.. omg :S

    Danke
     

Ähnliche Themen

  1. Zwischenspeicher nutzen [Visual Basic 2008]
    Von Erik im Forum .NET Café
    Antworten: 3
    Letzter Beitrag: 28.07.08, 19:45
  2. Visual Studio 2003.net = Visual Basic.net?
    Von T1-Fox im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 17.01.05, 13:32
  3. Visual Basic Code in Visual Basic generieren
    Von NBOne im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 16.01.05, 15:51
  4. Eine Frage im zusammenhang von Visual BASIC und Visual STUDIO
    Von CodeControl im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 29.09.04, 09:20
  5. Antworten: 1
    Letzter Beitrag: 31.07.04, 10:58