Veröffentlicht 21. Juni 200718 j Moin! Ich habe einen Treiber für eine Digi-Cam(JVC KY-F75U) als DLL vorliegen. Neben der DLL ist auch eine TBL vorhanden. Laut Hersteller enthält die DLL ein COM-Objekt, das mir die Methoden und Eigenschaften der Kamera bereitstellt. Ich habe zwar schonmal unter C++ mit DLLs gearbeitet, aber die habe ich mir selbst gebastelt und enthielten auch keine COM-Objekte. Meine Frage ist jetzt: Wie komme ich an die Methoden ran? Ich habe mir mit dem Dependency Walker die DLL angeschaut, und der hat mir keine kameraspezifischen Funktionen angezeigt. Wohl auch deshalb konnte ich die Funktionen nicht aufrufen, als ich ganz dreist versucht habe sie mit DLLimport einzubinden (Kein Entry-Point gefunden). Dann habe ich erfahren, dass man sich mit Hilfe von "tlbimport.exe" ein Assembly aus der DLL erstellen kann, das man dann in .net verwenden kann. Wie gehe ich jetzt vor, wenn ich die Assembly verwenden will? Der SharpDevelop Assembly Scout zeigt mir die Methoden an, jedoch scheitert die Compilierung, weil er bei "using" die namespaces nicht kennt. Bin recht neu in .net und auch COM ist neu für mich... :floet: Danke im Voraus! Gruß, Maart
22. Juni 200718 j Falls Du Visual Studio (notfalls Express Edition runterladen) hast, kannst Du die COM Dll einfach wie eine normale Assembly Referenzieren, den Rest übernimmt VS für Dich. Namespace ist in dem Fall der Name der Referenz. Wenn Du die COM Dll eingebunden hast, dann kannst Du Die Typen ganz normal wie Du es gewohnt bist verwenden. MfG Markus
22. Juni 200718 j Autor Vielen Dank für die Antwort, die Referenz war ein guter Tip! Vorher musste ich aber noch eine andere Hürde nehmen: -Man sollte die DLL auch mit regsvr32.exe im System bekannt machen... :upps Wenn man das alles gemacht hat, ist es ja ein echter Spaß die COM-Komponente zu benutzen! Gruß, Maart
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.