C++-Methoden in C# aufrufen
-
Vielen Dank für Deine Antwort!
LordJaxom schrieb:
Die große Frage ist nun, ist die DLL wirklich eine C++-DLL (ohne extern "C")? Wenn ja, dann hat die Funktion eher einen kryptischen Namen, der auf der Signatur der Funktion basiert.
Ähm, und wie finde ich das heraus?
-
1. Ins Schnittstellenhandbuch schauen
2. Den Entwickler fragen
3. In den Quelltext schauen4. Die Namen in der DLL auf etwas zutreffendes durchsuchen (oder den 2. dazu bewegen, ein 1. zu schreiben :D)
-
LordJaxom schrieb:
1. Ins Schnittstellenhandbuch schauen
2. Den Entwickler fragen
3. In den Quelltext schauen4. Die Namen in der DLL auf etwas zutreffendes durchsuchen (oder den 2. dazu bewegen, ein 1. zu schreiben :D)
1. Es ist eine Beschreibung vorhanden, mein Urteil nach einer kurzen Begutachtung: Katastrophal. Das beste daran ist das Inhaltsverzeichnis
2. Hab ich schon, keine Antwort.
3. Kein Quelltext vorhanden...
4. Mal prüfen.Eventuell setz ich mich jetzt doch daran, das ganze in C++ zu machen, auch wenn ich nicht wirklich eine Ahnung von C++ habe... (Als hätte ich nichts anderes zu tun)
Mir unverständlich, warum man ein Programm erstellt, eine miserable Doku dazu schreibt, keine Infos dazu ausgibt und dann auch noch wenig höfliche Antworten mit einer nicht ausreichenden Info dazu ausgibt...
Dlltool habe ich mal laufen lassen, aber irgendwie will das nicht:
dlltool.exe -e export.txt -D C:\p\CdEntry.dll
Text-Datei bleibt leider leer
-
Benutze den Dependency Walker um die Namen der exportierten Funktionen herauszufinden.
-
Vielen Dank für eure Antworten. Inzwischen bin ich etwas weiter, hat man sich doch dazu durchgerungen, mir noch etwas mehr Infos zukommen zu lassen. Damit bin ich nun schon deutlich weiter. Den Dependency Walker werde ich mir noch später ansehen, vielen Dank für diesen Hinweis!
Nun hab ich leider gleich ein anderes Problem:
class Program { public unsafe static int hSessID; public unsafe static int* phSessID = &hSessID;
Damit erhalte ich eine Fehlermeldung:
Sie können nur die Adresse eines unfixed-Ausdrucks innerhalb einer fixed-Anweisungsinitialisierung abrufen.
Nun hab ich schon in der MSDN gesucht, bei einer ganz grossen Suchmaschine, aber irgendwie komm ich nicht weiter. Die Variablen hatte ich bislang in einer Funktion, diese brauche ich jedoch über die gesamte Klasse hinweg, um so ein vielfaches Erstellen zu vermeiden.
Was mach ich falsch? Vielen Dank im voraus!
-
Du brauchst gar keine Zeiger, die Signatur Deiner Funktionsdeklaration ist eh falsch: 'ref' und * sind doppelt gemoppelt. Lass den Zeiger einfach weg.
-
WKonz schrieb:
Was mach ich falsch? Vielen Dank im voraus!
Dein Ehrgeiz in Ehren, aber mit der Problemstellung bist Du aktuell überfordert. Dir fehlen sämtliche Grundlagen.
Mir unverständlich, warum man ein Programm erstellt, eine miserable Doku dazu schreibt, keine Infos dazu ausgibt und dann auch noch wenig höfliche Antworten mit einer nicht ausreichenden Info dazu ausgibt...
Wenn ich erkenne, dass mein Gegenüber ein Dummschwätzer oder Blender ist, verfahre ich genauso. Wir lassen solche Typen, den Bytezähler im Rechenzentrum holen. Die Arroganz der ausgebildeten programmierenden Zunft mit langjähriger Berufserfahrung ergibt sich aus der Tatsache, dass das Programmieren nicht jeder kann. Und du kannst es nicht.
Zunächst mal ein Auszug aus der h-Datei:
Wenn Du die Header Dateien im Quelltext vorliegen hast und das Grundlagenwissen in C# und C++ internalisiert hast, ist das kein Problem.
-
sarabande schrieb:
WKonz schrieb:
Was mach ich falsch? Vielen Dank im voraus!
Dein Ehrgeiz in Ehren, aber mit der Problemstellung bist Du aktuell überfordert. Dir fehlen sämtliche Grundlagen.
Deine Arroganz in Ehren, aber mit der Beantwortung von Beiträgen bis Du aktuell überfordert. Dir fehlen sämtliche Menschliche Eigenschaften und das Gefühl von "jeder hat mal mit xy angefangen".
Und zu dem anderen sag ich jetzt mal nichts...
Wie auch immer: Nach einem Gespräch wurde mir eine Doku überlassen, die all meine Fragen beantwortete und viele zu erstellende Aufgaben deutlich erleichterte. Die Zugriffe auf die API-Funktionen funktionieren somit inzwischen problemlos. Vielen Dank für die Hinweise und Hilfestellungen!
-
WKonz schrieb:
Wie auch immer: Nach einem Gespräch wurde mir eine Doku überlassen, die all meine Fragen beantwortete und viele zu erstellende Aufgaben deutlich erleichterte. Die Zugriffe auf die API-Funktionen funktionieren somit inzwischen problemlos. Vielen Dank für die Hinweise und Hilfestellungen!
Dann hat meine polemische Arroganz genau zu dem geführt, was ich mir erhofft habe! Du hast mir gezeigt, was ne Harke ist! So machen wir das auch mit unseren Auszubildenden. Und ich gönne ihnen ihr freches Grinsen, wenn Sie die Nuß genackt haben.
-
Ähem
Der Verlauf hat nichts mit Dir zu tun, sondern mit einem Gespräch mit dem Entwickler des Herstellers. Der sprach wenig freundlich über den Verkäufer (der mit die falschen Unterlagen zusandte) und der daraufhin die neue Doku zusandte. Warum der VK die Infos zurückhielt, daß vom ersten an der Zugriff auf den Webservice nur noch über die API läuft, ist nicht nur mir ein Rätsel. Dadurch wurde unnötigerweise ein Termindruck erzeugt.
sarabande schrieb:
WKonz schrieb:
Wie auch immer: Nach einem Gespräch wurde mir eine Doku überlassen, die all meine Fragen beantwortete und viele zu erstellende Aufgaben deutlich erleichterte. Die Zugriffe auf die API-Funktionen funktionieren somit inzwischen problemlos. Vielen Dank für die Hinweise und Hilfestellungen!
Dann hat meine polemische Arroganz genau zu dem geführt, was ich mir erhofft habe! Du hast mir gezeigt, was ne Harke ist! So machen wir das auch mit unseren Auszubildenden. Und ich gönne ihnen ihr freches Grinsen, wenn Sie die Nuß genackt haben.
Genau, Du bist mein Vorbild, mein ein und alles bei diesem Projekt! Oh mein, Gott, ich danke Dir!
Sach mal, ist Dir langweilig? Such Dir ein Hobby, eine Frau, ärgere Dich über die Politik oder mach mal sonst etwas. Meine Güte! Oder geh zum Psychiater, da vergeht die Zeit, und der hilft Dir bei Deinem "kleinen" Problem.
-
WKonz schrieb:
Der Verlauf hat nichts mit Dir zu tun, sondern mit einem Gespräch mit dem Entwickler des Herstellers. Der sprach wenig freundlich über den Verkäufer (der mit die falschen Unterlagen zusandte) und der daraufhin die neue Doku zusandte. Warum der VK die Infos zurückhielt, daß vom ersten an der Zugriff auf den Webservice nur noch über die API läuft, ist nicht nur mir ein Rätsel. Dadurch wurde unnötigerweise ein Termindruck erzeugt.
Das ist ein schönes Beispiel für mieses Projektmanagement. Wie kann man nur mit dem Programmieren anfangen, wenn das Lasten,- und Pflichtenheft unvollständig ist? Den Termindruck hast Du Dir selbst zuzuschreiben.
Wenn ich mir was zu essen machen will, habe ich alle Zutaten vor mir liegen und muß nicht alle fünf Minuten nachträglich zum Discounter fahren, weil mir einfällt, dass ich was vergessen habe.
-
sarabande schrieb:
WKonz schrieb:
Der Verlauf hat nichts mit Dir zu tun, sondern mit einem Gespräch mit dem Entwickler des Herstellers. Der sprach wenig freundlich über den Verkäufer (der mit die falschen Unterlagen zusandte) und der daraufhin die neue Doku zusandte. Warum der VK die Infos zurückhielt, daß vom ersten an der Zugriff auf den Webservice nur noch über die API läuft, ist nicht nur mir ein Rätsel. Dadurch wurde unnötigerweise ein Termindruck erzeugt.
Das ist ein schönes Beispiel für mieses Projektmanagement. Wie kann man nur mit dem Programmieren anfangen, wenn das Lasten,- und Pflichtenheft unvollständig ist? Den Termindruck hast Du Dir selbst zuzuschreiben.
Wenn ich mir was zu essen machen will, habe ich alle Zutaten vor mir liegen und muß nicht alle fünf Minuten nachträglich zum Discounter fahren, weil mir einfällt, dass ich was vergessen habe.Falsch! Es ist ein Beispiel für eine schlechte Kommunikation in einem Unternehmen wie es bei unserem Hersteller der Fall war! Von der Umstellung habe ich viel zu spät erfahren. Da ich ausserdem mit 2 anderen Projekten ausgelastet bin, war eine optimale Arbeit nicht möglich. Der Lieferant hätte uns nur dann eine Mitteilung zukommen lassen müssen, als die Entscheidung dafür gefallen ist. Und dann noch von Anfang an die richtige und aktuelle Doku zukommen lassen, und schon gibt es weniger Probleme.
Deine Azubis können einem echt leid tun, bei einem Menschen mit derartigen Vorurteilen.
-
Nachtrag:
An die Admins:
1. Der Thread kann geschlossen werden, Thema erledigt.
2. Als ich den letzten Beitrag erstellt habe, wurde der Beitrag zwar ins Forum geschrieben, nur wurde mir dies nicht angezeigt, der lädt und lädt und lädt...
-
WKonz schrieb:
1. Der Thread kann geschlossen werden, Thema erledigt.
Ich bitte um Entschuldigung: Ich habe mir den Faden nochmals durchgelesen und muß feststellen, dass ich mich im Tonfall ordentlich vergriffenn habe. Das war nicht richtig. Es tut mir leid!