16.12.2009, 10:40
Hallo ! Ich weiss einfach nicht weiter und finde bislang auch hier kein passendes Thema...
Ich möchte Funktionen einer API einbinden, die für die Ansteuerung von Lichtschnittkameras geschrieben wurde.
Nun funktionierte von Anfang an nichtmal die Initialisierung der Kamera, da diese die Instanz eines sehr kompliziert aufgebauten Handlers erfordert.
Hab mir vom Händler eine API-Zusatzfunktion schreiben lassen, die die Instanzierung selbst vornimmt und mir "nur" den Zeiger auf die Datenstruktur
zurückgeben sollte. Das alles, damit ich in LabVIEW nicht alles neu programmieren muss, da der Aufwand ernorm wäre (Instanz einer Struktur mit unendlich vielen weiteren Unter-Strukturen).
Mich interessiert weder der Aufbau des Handlers noch der Inhalt. Ich muss nur den Zeiger auf den Handler an die Funktionen zur Kamerasteuerung weitergeben könnnen.
Und genau das schaff ich nicht. der Funktionsaufruf sieht so aus:
int LIBCALL SR_API_SetupCam ( Camdesc* cd1, Param* pars1)
Hab die Konfiguration des Knotens schon zigmal durchprobiert. Unter den vielen Möglichkeiten find ich einfach nicht die richtige....
Müsste doch eigentlich als Zeiger ein uint32 mit Übergabe "Zeiger auf wert" reichen oder nicht? Zeiger heisst doch einfach (Start-)Adresse im Speicher der Struktur-Instanz???? Bekomme aber immer das zurück, was ich auch reingebe, nämlich nen Nullpointer.
Wenn ich void* nehme funktioniert auch nix. Cstring-pointer, Arrayzeiger usw generieren LV-Abstürze.
Was ist eigentlich der Unterschied zwischen "Zeiger durch Wert" und "Zeiger in Handles" ??? Mich verwirrt das alles nur.
HILFÄÄ
Wer weiss Rat ??
MFG Torsten
Ich möchte Funktionen einer API einbinden, die für die Ansteuerung von Lichtschnittkameras geschrieben wurde.
Nun funktionierte von Anfang an nichtmal die Initialisierung der Kamera, da diese die Instanz eines sehr kompliziert aufgebauten Handlers erfordert.
Hab mir vom Händler eine API-Zusatzfunktion schreiben lassen, die die Instanzierung selbst vornimmt und mir "nur" den Zeiger auf die Datenstruktur
zurückgeben sollte. Das alles, damit ich in LabVIEW nicht alles neu programmieren muss, da der Aufwand ernorm wäre (Instanz einer Struktur mit unendlich vielen weiteren Unter-Strukturen).
Mich interessiert weder der Aufbau des Handlers noch der Inhalt. Ich muss nur den Zeiger auf den Handler an die Funktionen zur Kamerasteuerung weitergeben könnnen.
Und genau das schaff ich nicht. der Funktionsaufruf sieht so aus:
int LIBCALL SR_API_SetupCam ( Camdesc* cd1, Param* pars1)
Hab die Konfiguration des Knotens schon zigmal durchprobiert. Unter den vielen Möglichkeiten find ich einfach nicht die richtige....
Müsste doch eigentlich als Zeiger ein uint32 mit Übergabe "Zeiger auf wert" reichen oder nicht? Zeiger heisst doch einfach (Start-)Adresse im Speicher der Struktur-Instanz???? Bekomme aber immer das zurück, was ich auch reingebe, nämlich nen Nullpointer.
Wenn ich void* nehme funktioniert auch nix. Cstring-pointer, Arrayzeiger usw generieren LV-Abstürze.
Was ist eigentlich der Unterschied zwischen "Zeiger durch Wert" und "Zeiger in Handles" ??? Mich verwirrt das alles nur.
HILFÄÄ
Wer weiss Rat ??
MFG Torsten