ERLEDIGT
NEIN
NEIN
ANTWORTEN
20
20
ZUGRIFFE
917
917
EMPFEHLEN
-
Ist denn deine DLL in der Registry registriert?
-
weiss ich nicht, habe
I:\Projekte\0.1\dBaseDotNet\dBaseDotNet\bin\Debug>regasm.exe /tlb dBaseDotNet.dll
I:\Projekte\0.1\dBaseDotNet\dBaseDotNet\bin\Debug>gacutil /f /i dBaseDotNet.dll
gemacht
aber immer noch init false ....
-
Mit CoInitialize hat das nichts zu tun, ich zeige dir mal kurz eine Schritt für Schritt Erklärung.
1. Ich mache eine C#-Klassenbibliothek und nenne die DotNet. In den Eigenschaften stelle ich "Register for COM-Interop" auf ja (im Reiter Build) und unter Assembly Information mach ich "Make assembly COM visible".
2. Ich erstelle Interface und Klasse:
Code csharp:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace DotNet { [Guid("D0062C71-6FA0-4991-8616-0F82509877F9")] public interface IMyInterface { string SayHello(); } [Guid("8AC9C87A-6EA1-4EED-8064-BA58CAF6F2CE")] public class MyClass : IMyInterface { public string SayHello() { return "Hello by .NET"; } } }
Anschliessend erstell ich ein C++-Projekt, eine Datei main und da kommt folgender Code rein:
Code cpp:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#include <Windows.h> #include <iostream> #import "..\Debug\DotNet.tlb" int main() { CoInitialize(NULL); DotNet::IMyInterfacePtr myInterf(__uuidof(DotNet::MyClass)); std::wcout << myInterf->SayHello() << std::endl; getchar(); CoUninitialize(); }
Et voila
-
Danke f+r Dein Beispiel, jetzt geht es.
Was ich nicht verstehe ist, das VS keine member OMyInterfacePtr anzeigt in der Codevervollständigung.
Abaer naja,
danke nochmals.
-
Was meinst du mit OMyInterfacePtr?
-
IMyInterfacePtr meinte ich, hab zu schnell getippt.
Aber nun läuft es, Danke für Deine Hilfe
Ähnliche Themen
-
C# - Kann eine Klasse sich selbst an eine andere übergeben?
Von Aero13 im Forum .NET DatenverwaltungAntworten: 2Letzter Beitrag: 12.01.11, 15:23 -
Wie kann man Variablenwerte der main-Klasse in eine Unterklasse übrgeben?
Von Migelito im Forum JavaAntworten: 16Letzter Beitrag: 15.06.10, 08:29 -
Wie kann ich in eine Java Klasse mit XML steuern ?
Von kreez im Forum Java GrundlagenAntworten: 3Letzter Beitrag: 15.06.09, 12:01 -
Eine Klasse in meinem Programm verwenden (Netbeans)
Von Andre_Java im Forum JavaAntworten: 2Letzter Beitrag: 16.11.07, 09:11 -
Kann ich eine Illustrator-Datei als Material verwenden?
Von S_Golem im Forum Cinema 4DAntworten: 2Letzter Beitrag: 26.10.06, 11:39





Zitieren
Login





