Hallo, ich habe ein Problem: Ich möchte eine .dll in mein Visual Studio C++ Projekt einbinden, doch leider funktioniert es überhaupt nicht. Ich habe zuerst die .dll heruntergeladen, dann in VS 2015 eine neue win32 Konsolenanwendung geöffnet, dann im Projektmappen-Explorer mit einem Rechtsklick auf mein Projekt -> Hinzufügen-> Verweis versucht die dll einzubinden. Unter Projekt-> Projektmappe steht da nur „keine Elemente gefunden“. Und da gibt es keine weiteren Reiter oder Tabs um zu navigieren. Zuvor habe ich die dll in den Projektordner (da wo die .sln ist) und zusätzlich noch in den debug Ordner gesteckt. Bitte helft mir, ich habe im Internet überhaupt nichts dazu gefunden. Die dll habe ich von hier: http://www.rgb-photonics.com/ Genauer geht der link leider gerade nicht, da die Website von der Firma gerade abgestürzt ist. Ich würde gerne das Qmini Spektrometer mit einer Konsolenanwendung steuern. Vielen Dank schon mal. Gruß
:
Verschoben durch User
Was ist es denn für eine DLL? Hat sie denn exportierte Symbole, wenn ja welche? (Dependency Walker) Hast du eine Header Datei dafür? Ist es eine AktivX dll die erst registriert werden muss? Ist es eine .net Dll?
ne header hab ich keine. .net dll weiß ich nicht worin der Unterschied ist. Vielleicht hilft dir die dll im Anhang.
Praxsem schrieb: > .net dll weiß ich nicht worin der Unterschied ist. PDF nur kurz überflogen [...] You can use the Qwave SDK with any programming language that can connect to .NET DLLs. [...] du brauchst also eine Programmiersprache die auf .net aufsetzt. Also C#, VB.net oder C++/CLI. Normales C++ geht dafür nicht.
ah ok. Hab gedacht C++/CLI wäre eigentlich C++. Wusste ich nicht, dass es da einen Unterschied gibt. Was schlägst du vor? Was geht mit Visual Studio?
Praxsem schrieb: > Was schlägst du vor? einfach C# verwenden - da kommt man nicht in die Verlegenheit es mit C++ zu vermischen.
ich hab noch nie mit c# gearbeitet. muss mich da erst mal einarbeiten. dann habe ich bestimmt wieder fragen. die syntax ist aber fast gleich wie c, oder? Wo sind die Unterschiede?
Praxsem schrieb: > ich hab noch nie mit c# gearbeitet. > muss mich da erst mal einarbeiten. müsstest du auch in C++/CLI > dann habe ich bestimmt wieder fragen. dann her damit > die syntax ist aber fast gleich wie c, oder? naja, es gibt gleiche Schlüsselworte in jeder Programiersprache z.b. "if" deswegen sind die noch lange nicht gleich. > Wo sind die Unterschiede? C# ist eine komplett andere Sprache mit anderen Möglichkeiten und objektorientiert.
dann sollte ich lieber c++/cli nehmen?! Aber das ist bei mir nicht in Visual Studio in den Projekten enthalten. Kann ich da eine Erweiterung runterladen oder gehts einfach nicht? Delphi sollte doch auch gehen? Das ist doch wie Pascal? Und das kann ich auch. Mit welcher IDE könnte ich dann arbeiten? Was schlägst du vor?
Praxsem schrieb: > dann sollte ich lieber c++/cli nehmen?! ich würde sage NEIN. Cli ist zwar ähnlich zu C++ aber doch nicht gleich. Da kommt man nur durcheinander. > Delphi sollte doch auch gehen? Das ist doch wie Pascal? Und das kann ich > auch. Mit welcher IDE könnte ich dann arbeiten? keine Ahnung. Versuch es doch mal mit C#, die 10min wirst du wohl haben. Dafür findet man auch genug Beispiele im netzt. C# ist die "echte" Sprache für .net
Praxsem schrieb: > Aber das ist bei mir nicht in Visual Studio in den Projekten enthalten. Das sollte es sein, oder Du hast ein sehr merkwürdiges oder uraltes Visual Studio.
Ich habe das neue VS 2015. Gestern runtergeladen. Leider hänge ich schon wieder. Wie ist es möglich auf die Funktionen der dll zuzugreifen? So stelle ich es mir in meinem Programm vor: In der dll sind Funktionen enthalten, mit denen ich auf das Spektrometer zugreifen kann. Wenn ich die dll eingebunden habe, kann ich auf diese Funktionen zugreifen. So als ob es ganz normale Funktionen wären. Aber wie komme ich an die Funktionen ran? Woher weiß ich was es gibt und welche syntax die Funktionen haben? In dem Zip-Ordner, den ich oben reingelasen habe, kann man auch ein mitgeliefertes Beispielprogramm ansehen. Aber das ist, wenn ich es richtig verstehe halb in C++/Csi und halb in C++ geschrieben?!? Und warum sind nochmal alle Funktionen in dem Wrapper programmiert?
schau dir doch mal im Zip das Projekt MultipleSpectrometers an, das ist C#. Dort sind doch recht einfache aufrufe wie:
1 | Spectrometer[] RgbSpectrometersFound = RgbSpectrometer.SearchDevices(); |
drin.
Praxsem schrieb: > Aber wie komme ich an die Funktionen ran? Woher weiß ich was es gibt und > welche syntax die Funktionen haben? Das steht in der Dokumentation. Ohne die macht die Verwendung irgendeiner Software-Library eher wenig Sinn, bzw. kann ein ziemlicher Krampf werden. Auf der Homepage gibt es eine Datei namens: SDK_Quick_Start_Guide.pdf Da stehen einige Informationen drin.
:
Bearbeitet durch User
Praxsem schrieb: > Aber wie komme ich an die Funktionen ran? Woher weiß ich was es gibt und > welche syntax die Funktionen haben? Hast Du das von dir angehängte pdf eigentlich gelesen? Da steht: The full documentation for these methods and properties can be found in the RgbDriverKit documentation.chm help file. Ansonsten gibt es wie es die Beispiele in dem von Dir angehängten zip!
die hilfedatei geht bei mir nicht. kommt da bei euch was? bei mir bleibt das fenster nur weiß. aber mit der multipleSpectrometers datei komme ich vorwärts. muss mir halt alles genau anschauen.
Praxsem schrieb: > dann sollte ich lieber c++/cli nehmen?! > Aber das ist bei mir nicht in Visual Studio in den Projekten enthalten. Templates -> Visual C++ -> CLR Fertige Windows-Forms-Templates wirst du dort aber nicht finden, da C++/CLI nicht für komplette GUI-Projekte gedacht ist (obwohl es technisch möglich ist). Man kann C++/CLI eigentlich nur in drei Szenarien sinnvoll einsetzen: - Für Wrapper, die es ermöglichen, "native" Bibliotheken in .NET zu benutzen (ohne P/Invoke). Das dürfte wohl den Löwenanteil aller C++/CLI-Projekte ausmachen. - Wrapper, mit deren Hilfe man .NET-Bibliotheken in "nativen" Bibliotheken/Programmen verwenden kann (ohne COM). Falls du auf keinen Fall C# verwenden willst, wäre das vielleicht eine Möglichkeit. http://pragmateek.com/using-c-from-native-c-with-the-help-of-ccli-v2/ - Kommandozeilen-Tools, die sowohl auf "echte" C/C++-Bibliotheken als auch auf .NET zugreifen müssen.
Praxsem schrieb: > die hilfedatei geht bei mir nicht. kommt da bei euch was? ja, kann es sein das du die chm von einen Netzwerklaufwerk öffnest? Das ist im Standard nicht zulässig und es kommt eine leer Seite.
Praxsem schrieb: > die hilfedatei geht bei mir nicht. kommt da bei euch was? > bei mir bleibt das fenster nur weiß. Evtl. Rechtsklick auf die Datei und "Zulassen". http://www.wintotal.de/images/tipps/1179_Zonenbit.png
ja war vom netzwerklaufwerk. hab in der registry und den einstellungen was geändert. jetzt klappts :) sehr guter Tipp!!!!!
Praxsem schrieb: > ja war vom netzwerklaufwerk. hab in der registry und den einstellungen > was geändert. jetzt klappts :) war ja klar
Peter II schrieb: > kann es sein das du die chm von einen Netzwerklaufwerk öffnest? Das ist > im Standard nicht zulässig und es kommt eine leer Seite. Dass das so ist war mir bekannt. Nur warum es so ist hab ich nie verstanden. Kennst Du vielleicht den Grund?
Mark B. schrieb: > Nur warum es so ist hab ich nie > verstanden. Kennst Du vielleicht den Grund? es wurden schon viren über CHM verbreitet. Diese konnte dann übers Internet geladen werden. Dazu reichte eine Webseite mit mit JavaScript und der passenden URL file://server.de/virus.crm Das ganze hängt glaube ich mit dem Zonenmodell vom IE/Windows zusammen. Wenn das Netzlaufwerk als Intranet Zone eingetragen ist, müsste es auch gehen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.