Suchergebnisse
Suchergebnisse 1-18 von insgesamt 18.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
-
Wie am besten aus fertigem Beispiel, das in C geschrieben wurde, eine dll schreiben
chris_2091 - - Weitere Sprachen und sprachübergreifende Themen
BeitragHallo zusammen, ich möchte für eine Sensoransteuerung(IMU-Sensor) eine dll schreiben, sodass man die Funktionen wie Daten senden, Daten anfordern usw. einfach nur in die GUI rein importieren muss und die gleichen Funktionen für mehrere Programme nutzen kann. Der Hersteller hat eine Beispiele mit Code mitgeliefert, die alle in C geschrieben sind. Daher wollte ich die meisten Daten einfach verwenden. Ich habe ein sehr gutes Beispiel gefunden, wo erklärt wird wie man eine C-dll in VB nutzen kann. A…
-
Wie am besten aus fertigem Beispiel, das in C geschrieben wurde, eine dll schreiben
chris_2091 - - Weitere Sprachen und sprachübergreifende Themen
BeitragDanke @hal2000!! Im Anhang sind alle weiteren Dateien
-
Wie am besten aus fertigem Beispiel, das in C geschrieben wurde, eine dll schreiben
chris_2091 - - Weitere Sprachen und sprachübergreifende Themen
BeitragVielen Dank @hal2000 und @jvbsl für eure Hilfe. @hal2000 wie stellt man den Link zwischen dem Projekt und der Bib her? Habe unter Projekteigenschaften->Linker->Generell bei (AdditionalLibraryDirectories) @jvbsl ich habe libfreespace herrunter geladen und die lib. gebaut. Du meinst man kann die lib datei importieren und dann in einer vb Klasse die benötigten Funktion einfach über VB.NET-Quellcode (3 Zeilen) definieren? So das geht leider nicht, wie kann man den die lib-Datei in das vb Programm re…
-
Wie am besten aus fertigem Beispiel, das in C geschrieben wurde, eine dll schreiben
chris_2091 - - Weitere Sprachen und sprachübergreifende Themen
BeitragVielen Dank für eure Antworten!! Hoffe, dass ich mit meiner Studienarbeit jetzt weiter komme. @RodFromGermany ja ich habe dein Tut ausprobiert und halbwegs verstanden..hoffe ich das Problem bei mir ist ja, dass ich keine dll mit allem drum und dran selber schreiben muss sondern alles eigentlich schon da ist, "nur" muss man's irgendwie integrieren. @hal2000 super Anleitung, ich probiere das gleich morgen früh aus. Diese Lib-Dateien Hid.lib, Cfgmgr32.lib, setupapi.lib sind die schon im Betriebssys…
-
Wie am besten aus fertigem Beispiel, das in C geschrieben wurde, eine dll schreiben
chris_2091 - - Weitere Sprachen und sprachübergreifende Themen
Beitragwo kann man Zitat: „C++ --> Präprozessor --> Bearbeiten und LIBFREESPACE_EXPORTS anfügen“ Ich habe dazu ein Bild im Anhang hochgeladen. Den Rest habe ich wie beschrieben durchgeführt, wobei es ein Projekt names ALL_BUILD gibt, das man eigentlich nutzt um die Bib zu bauen, habe dort und in dem Freespace-Projekt die beschriebenen Eigenschaften geändert. Wobei man nur in Freespace überhaupt die Option mit C/C++ erscheint. Beim Starten kommen zahlreiche Link und Syntax-Fehler ?! aus hidpi.h
-
Wie am besten aus fertigem Beispiel, das in C geschrieben wurde, eine dll schreiben
chris_2091 - - Weitere Sprachen und sprachübergreifende Themen
Beitragalso habe es jetzt mehrmals versucht es klappt einfach nicht. Ich kriege über 500 Syntaxfehler. Zum Beispiel: Error C2061 syntax error: identifier 'UsagePage' freespace c:\winddk\7600.16385.1\inc\api\hidpi.h 55 Error C2059 syntax error: ';' freespace c:\winddk\7600.16385.1\inc\api\hidusage.h 26 die Fehler enstehen alle in der Datei freespace_util.c Wenn man in CMake bei LIBFREESPACE_LIB_TYPE SHARED hinschreibt muss man nicht die ganzen Projekt-Einstellungen ändern. Allerdings kommen die gleichen…
-
Wie am besten aus fertigem Beispiel, das in C geschrieben wurde, eine dll schreiben
chris_2091 - - Weitere Sprachen und sprachübergreifende Themen
BeitragSuper @hal2000 !! Vielen Dank!!
-
Wie am besten aus fertigem Beispiel, das in C geschrieben wurde, eine dll schreiben
chris_2091 - - Weitere Sprachen und sprachübergreifende Themen
Beitragbei mir funktionieren jetzt die ganz einfachen Funktionen wie freespace_init usw. Allerdings habe ich Probleme sobald man mehrere Inputs übergeben muss. zum Beispiel bei der Funktion LIBFREESPACE_API int freespace_getDeviceList (FreespaceDeviceId * list, int listSize, int * listSizeOut ) -Get the list of attached devices. -Parameters: - list where to store the list of inserted devices - listSize the max number of ids that the list can hold - listSizeOutthe number of ids returned in the list Retu…
-
Wie am besten aus fertigem Beispiel, das in C geschrieben wurde, eine dll schreiben
chris_2091 - - Weitere Sprachen und sprachübergreifende Themen
BeitragDanke für den Hinweis @jvbsl !! Ich habe das jetzt auch so umgesetzt. Als CallingConvention habe ich jetzt folgendes VB.NET-Quellcode (3 Zeilen) Die Funktion gibt immer null raus egal ob ich den Sensor angeschlossen habe oder nicht, lustigerweise scheint allerdings die ID richtig zu sein. Da ich als weitere Funktion VB.NET-Quellcode (3 Zeilen) benutze und sie gibt richtig aus, ob der Sensor angeschlossen ist oder nicht. Ansonsten funzt alles!! (soweit ich es austesten konnte) Man muss bei Funkti…
-
Wie am besten aus fertigem Beispiel, das in C geschrieben wurde, eine dll schreiben
chris_2091 - - Weitere Sprachen und sprachübergreifende Themen
Beitrag@hal2000 vielen Dank für deine schnelle Antwort. Ich probiere das mal aus. Zitat: „Achtung: Bei mir sind die Member von freespace_message uint8_t, nicht uint16_t - bitte kontrollieren.“ ja da hast du Recht, da habe ich mich vertan. Nachtrag: also das mit den Einbinden weitere Strukturen funktioniert ganz gut. Allerdings habe ich ein Problem mit der Struktur MotionEngineOutput: freespace_MotionEngineOutput Struct ReferenceFreespace Messages Data Fields uint8_t formatSelect uint8_t ff0 uint8_t ff1…
-
Wie am besten aus fertigem Beispiel, das in C geschrieben wurde, eine dll schreiben
chris_2091 - - Weitere Sprachen und sprachübergreifende Themen
BeitragDanke @RodFromGermany für den Tipp! Allerdings weiß ich nicht wie man einen Breakpoint in die dll packt. Einfach die dll öffnen geht nicht oder? Zitat von hal2000: „Also im deutschen Visual Studio steht da: Die m-Variable wird übergeben, bevor ihr ein Wert zugewiesen wird. Zur Laufzeit kann eine Nullverweisausnahme auftreten. Stellen Sie sicher, dass die Struktur oder alle Verweismember vor der Verwendung initialisiert werden“ Ja, genau, das kam bei mir auch. Super! Danke @hal2000
-
Wie am besten aus fertigem Beispiel, das in C geschrieben wurde, eine dll schreiben
chris_2091 - - Weitere Sprachen und sprachübergreifende Themen
BeitragAlso ich habe die dll aus der Projektmappe gebaut, die man durch CMake bekommt, die Binaries habe ich von hier github.com/rpavlik/libfreespace Ich habe jetzt allerdings ein Problem mit einer Methode, beim Ausführen wird folgender Fehler: Zitat: „An unhandled exception of type 'System.NullReferenceException' occurred in Cursorsteuerung.exe Additional information: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt“ Dabei habe ich alle Objekte instanziert. Hier die Methode aus der Doku…
-
Wie am besten aus fertigem Beispiel, das in C geschrieben wurde, eine dll schreiben
chris_2091 - - Weitere Sprachen und sprachübergreifende Themen
BeitragDanke @hal2000 Zitat von hal2000: „Die Struktur freespace_DataModeControlV2Request besitzt keinen Arraymember. Warum deklarierst du einen? Hier nochmal die korrekten Deklarationen:“ Ja das Problem ist wenn ich das so mache wie Du es hier vorschlägst kommt folgende Fehlermeldung: Zitat: „An unhandled exception of type 'System.TypeLoadException' occurred in System.Windows.Forms.dll Additional information: Der Typ "FreespaceMessage" der Assembly "Cursorsteuerung, Version=1.0.0.0, Culture=neutral, P…
-
Wie am besten aus fertigem Beispiel, das in C geschrieben wurde, eine dll schreiben
chris_2091 - - Weitere Sprachen und sprachübergreifende Themen
BeitragDanke dir @hal2000 !! Ich probiere das mal aus. Hoffe, dass es endlich klappt. Also für die Strukturdefinition muss wie folgt lauten:(Versteckter Text) DataModeControlV2Request nimmt 24 Bytes ein, daher muss die nächste Struktur auf 32 usw. Leider funktioniert das Nachrichten empfangen immer noch nicht, dabei habe ich mich sehr an das Herstellerbeispiel gehalten, den relevanten Code sieht ihr hier: (Versteckter Text) Ich habe daraus in vb-net folgendes gemacht: (Versteckter Text) Das Senden der …
-
Wie am besten aus fertigem Beispiel, das in C geschrieben wurde, eine dll schreiben
chris_2091 - - Weitere Sprachen und sprachübergreifende Themen
BeitragIch habe jetzt endlich den Fehler gefunden und zwar soll man, wenn man nicht C genommen hat, andere Funktionen verwenden, freespace_private_send und freespace_private_read (Versteckter Text) Jetzt weiß ich allerdings nicht wie man die Nachricht definiert, um es dann zu verschicken. Vorher hatte man Strukturen, wo man einzelne Werte zuweisen konnte. Auch weiß ich nicht wie man am besten die Nachricht an andere Funktionen übergebe: wie zum Beispiel: VB.NET-Quellcode (3 Zeilen) hier war ja meOutPkt…
-
Wie am besten aus fertigem Beispiel, das in C geschrieben wurde, eine dll schreiben
chris_2091 - - Weitere Sprachen und sprachübergreifende Themen
Beitrages scheint zu funktionieren!! Zitat von hal2000: „Dein Projekt steht und fällt mit der Deklaration der Nachrichtenstrukturen.“ Genau das war das Problem. Ich habe die Struktur Freespace_Message in zwei Strukturen aufgeteilt, sodass man eine Struktur fürs Senden einer Nachricht und einen fürs Empfangen einer Nachricht bekommt. Hier sieht man den Code: (Versteckter Text) Eine einfache Unterteilung wie es @hal2000 in einem vorherigen Post gemacht, funktioniert nicht da die Funktion freespace_util_g…
-
Wie am besten aus fertigem Beispiel, das in C geschrieben wurde, eine dll schreiben
chris_2091 - - Weitere Sprachen und sprachübergreifende Themen
BeitragDanke dir !! Zitat von hal2000: „Wenn du die Lust an Interop noch nicht verloren hast, kannst du auch die asynchrone Variante verwenden. Dabei ruft die DLL ein vorher definiertes Callback auf, sobald neue Daten vorhanden sind.“ Ich schaue mir das mal an. Ich habe vor dem Schleifenende einfach das Sytem für 20ms pausieren lassen, da hat er ziemlich gleichmäßig jede zweite Nachricht gelesen. Aber deine Idee @hal2000 jede zweite Nachricht nur zu verarbeiten klingt gut. Ich probiere das aus. Wichtig…