14.10.2011, 13:42
Moin liebe Forumuser,
ich versuche mich gerade zum ersten mal daran eine dll einzubinden - mehr oder weniger erfolgreich.
Das Problem ist, dass ich mir nicht ganz sicher bin, wie ich die Funktion korrekt aufrufe. Sie sieht wie folgt aus:
int_stdcall func(int Handle, void * Img, int Flg, int * LCount, int * Header)
Die DLL ist von einer Kamera und mit der Funktion rufe ich nach einigem Vorgeplänkel das Bild ab - so zumindest der Plan. Die Initialisierung funktioniert auch soweit ganz gut, zumindest erhalte ich keine Fehlermeldungen! Bei dem Funktionsaufruf zum Abholen des Bildes bekomme ich aber immer einen Fehlercode von der DLL zurück.
Ich bin mir nicht sicher, wie ich das "void * Img" übergeben muss... Ich dachte eigentlich, dass ich ein 16bit-Array mit der Größe "Anzahl der Pixel + Header" übergeben muss, bzw. den Array Data Pointer. Ich hab schon sämtliche Einstellungen durchprobiert, bin aber zu keinem besseren Ergebnis gekommen.
Die Parameter übergebe ich wie folgt:
Handle: Numeric, signed16, Value -> (Funktioniert bei den anderen Funktionen auch)
Img: Array, unsigned16, Array Data Pointer (so meine bisherige Annahme)
Flg: Numeric, signed16, Value
LCount: Numeric, unsigned16, Pointer to Value
Header: Numeric, signed16, Pointer to Value
Hat jemand von euch eine Idee einen Tipp, was ich falsch machen könnte? Hab im Bezug auf das Einbinden von DLLs noch keine Erfahrung.
Danke schon mal im Voraus für eure Hilfe.
Schöne Grüße und schon mal ein schönes und sonniges Wochende,
Kai
ich versuche mich gerade zum ersten mal daran eine dll einzubinden - mehr oder weniger erfolgreich.
Das Problem ist, dass ich mir nicht ganz sicher bin, wie ich die Funktion korrekt aufrufe. Sie sieht wie folgt aus:
int_stdcall func(int Handle, void * Img, int Flg, int * LCount, int * Header)
Die DLL ist von einer Kamera und mit der Funktion rufe ich nach einigem Vorgeplänkel das Bild ab - so zumindest der Plan. Die Initialisierung funktioniert auch soweit ganz gut, zumindest erhalte ich keine Fehlermeldungen! Bei dem Funktionsaufruf zum Abholen des Bildes bekomme ich aber immer einen Fehlercode von der DLL zurück.
Ich bin mir nicht sicher, wie ich das "void * Img" übergeben muss... Ich dachte eigentlich, dass ich ein 16bit-Array mit der Größe "Anzahl der Pixel + Header" übergeben muss, bzw. den Array Data Pointer. Ich hab schon sämtliche Einstellungen durchprobiert, bin aber zu keinem besseren Ergebnis gekommen.
Die Parameter übergebe ich wie folgt:
Handle: Numeric, signed16, Value -> (Funktioniert bei den anderen Funktionen auch)
Img: Array, unsigned16, Array Data Pointer (so meine bisherige Annahme)
Flg: Numeric, signed16, Value
LCount: Numeric, unsigned16, Pointer to Value
Header: Numeric, signed16, Pointer to Value
Hat jemand von euch eine Idee einen Tipp, was ich falsch machen könnte? Hab im Bezug auf das Einbinden von DLLs noch keine Erfahrung.
Danke schon mal im Voraus für eure Hilfe.
Schöne Grüße und schon mal ein schönes und sonniges Wochende,
Kai