LabVIEWForum.de
Einbinden externen Code mit unbekannter Parameterstruktur - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: Einbinden externen Code mit unbekannter Parameterstruktur (/Thread-Einbinden-externen-Code-mit-unbekannter-Parameterstruktur)

Seiten: 1 2


Einbinden externen Code mit unbekannter Parameterstruktur - rolfk - 17.12.2009 12:01

Dann zeige doch mal die Header Datei. Wir können hier noch tagelang Robert Lembkes lustiges Rätselraten machen ob Deine Parameter nun Pointer auf Pointer auf etwas sind oder eben nur Pointer auf eine structure. Meiner Erfahrung nach ist es das zweite aber das ist einfach eine übliche Notion für die Namensgebung von Typedeklarationen. Kann sehr wohl sein dass Dein guter Mann von Smartray da andere Vorstellungen hat, aber ohne die Headerdatei ist da gar nichts mehr zu machen um alle weiteren Klarheiten zu beseitigen.Big Grin

Ich will ganz einfach die Typdeklaration von Camdesc und Param sehen. Alles andere ergibt sich dann daraus.


Einbinden externen Code mit unbekannter Parameterstruktur - ghostwhisperer - 17.12.2009 12:25

Mehr geht nicht... Param zB ist extern definiert.
Die struct camdesc ist Fett hervorgehoben. UND DANKE

/*============================================================================*/
/* SmartRay Camera API */
/*----------------------------------------------------------------------------*/
/* Copyright


Einbinden externen Code mit unbekannter Parameterstruktur - rolfk - 21.12.2009 09:24

Also CAMDESC *cd ist damit eindeutig ein Pointer auf eine Struktur und kann deshalb nicht von der Funktion zurückgegeben werden. Der Aufrufer muss diese im Speicher anlegen und der Funktion mitgegeben die diesen dann eventuel beschreiben kann. Ob die Funktion das tut weiss nur der Programmierer, scheint mir aber etwas komisch, woher soll die denn all die Informationen hernehmen??? Erraten?

Und CAMDESC ist ein Buffer der 396 + PARAM Bytes Länge hat. Also ohne PARAM Strukturdeklaration sind wir noch nicht weiter.

Auch PARAM muss irgendwo deklariert sein sonst ist dieser Header hier nutzlos da nicht durch einen C Compiler komplett lesbar. Ich tippe dafür auf die in diesem Header included weitere Headerdatei "SR_API_Parameter.h".

Sezte Dich mal mit jemandem zusammen der einiges von C Programmierung weiss, aber auch offen ist um Code aus LabVIEW (oder meinetwegen Visual Basic oder Delphi) aufzurufen und lass ihn dieses Problem für Dich tackeln. Das kostet natürlich Zeit, und wenns gut sein soll wohl auch etwas Geld, aber dann hast Du jedenfalls jemanden der mit dem Programmierer von Smartdings kommunizieren kann. So wie es jetzt ist kommunizieren dieser Programmierer und Du aneinander vorbei, weil er keine Ahnung hat was LabVIEW ist und Du keinerlei Kenntnisse über C Programmierung, so dass Du die Dinge die er sagt wahrscheinlich zumindest verdreht oder nicht ganz im Kontext hier wiedergibst.