2016-03-30 9 views
-1

Ich frage mich, was das Verfahren zum Importieren von Klassen aus einer DLL in ein C++ - Programm ist? Es ist eine vorgefertigte DLL von TI gemacht, so dass ich keinen Zugriff auf die .h oder .lib Dateien habe. Ich habe mich auf SO umgeschaut, und alle Lösungen scheinen einen Entwicklerzugriff auf die DLL zu erfordern. Was ich nicht bin, da ich nicht für TI arbeite. Die loadlibrary-Funktion scheint die DLL nicht öffnen zu wollen. Das Programm kann es nicht jedes Mal öffnen. Ich bin jetzt ratlos und jede Hilfe wird geschätzt.Wie importiere ich Klassen aus einer vordefinierten DLL in C++ oder C#?

Um Kontext geben die TI.ZPI.dll, die von ihrem Programm namens Ztool zum Ausführen und Verwalten von Zigbee-Netzwerken verwendet wird. Ich versuche, auf die Funktionen zuzugreifen, damit ich meine eigene Version von Ztool schreiben kann, die mehr Funktionalität hat. Die Literatur für die ZPI sagt, es kann in Visual Basic, C#, C++, J # und JScript

+0

Stehlen Sie keinen proprietären Code. –

+0

Es ist eine .NET-Assembly, die nicht direkt von einem * nicht verwalteten * C++ - Programm verwendet werden kann. –

+0

Wie stiehlt es, wenn es Open Source ist? Und alle Werkzeuge sind frei zu benutzen? – Jnpijak

Antwort

-1

implementiert werden Dieses Blog beschreibt, wie Sie eine Lib von einer DLL erstellen.

https://adrianhenke.wordpress.com/2008/12/05/create-lib-file-from-dll/

Ich benutze depends.exe auch, um zu sehen, welche Funktionen in der DLL zur Verfügung stehen. Depends.exe wurde in älteren Windows SDKs verteilt.

+0

Ich habe das versucht, und es gibt diesen C: \ Program Files (x86) \ Microsoft Visual Studio 14.0> dumpbin/export C: \ ti \ simpl elink \ zstack_home_1_02_02a_44539 \ Tools \ Z-Werkzeug \ TI.ZPI. dll Microsoft (R) COFF/PE Dumper Version 14.00.23506.0 Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten. Dump der Datei C: \ ti \ Simple \ zstack_home_1_02_02a_44539 \ Tools \ Z-Werkzeug \ TI.ZPI.dll Dateityp: DLL Zusammenfassung 2000 .reloc 62000 .text Und es extrahiert im Grunde nichts. – Jnpijak

+0

Das bedeutet nur, dass es keine C-Funktionen zur Verfügung hat. Von Ihrer ursprünglichen Frage scheint es, dass dies dann .NET Assembly DLL ist. Was passiert, wenn Sie es registrieren oder ist es bereits in der GAC? - von wann Sie es installiert haben. Ist es als Assembly in Visual Studio verfügbar? – kgorham

+0

Ah ok macht Sinn. Wie gehe ich vor, um es zu registrieren? Es ist nicht als Assembly in Visual Studio verfügbar. Es wird angezeigt, wenn Sie ein Programm namens Ztool von Texas Instruments herunterladen. Auch depends.exe zeigt die Funktionen der DLL nicht an, obwohl keine Pakete fehlen. – Jnpijak