INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

DLL einbinden mit "void * func"



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

17.10.2011, 14:08
Beitrag #10

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: DLL einbinden mit "void * func"
(17.10.2011 09:00 )kaiman schrieb:  Naja, damit habe ich es schon probiert.
Die Frage ist ja, ob ich der DLL überhaupt ein Array übergeben muss, oder nicht. Wenn es kein Array sein soll/darf sondern nur der Zeiger auf den Speicher wo das Bild hin geschrieben werden soll, wie könnte ich das dann anstellen? Kann ich eine Referenz o.ä. auf den Speicher in LV an die DLL übergeben und mir dann aus diesem Speicher die Pixelwerte raus ziehen?Wacko

Huuuh??? Darf ich Dich auf diese quote hinweisen?

Zitat:In der Beschreibung steht nur, dass ich für Img ausreichend Speicher allozieren muss mit einer Größe von (1728 + 153600)bytes für ein 320*240 Bild. Jedes Pixel hat 16bit, weshalb also jedes Pixel 2 byte braucht. Da aber ja mit "void * Img" nur der Zeiger auf den allozierten Speicher übergeben wird (soweit mein Verständnis) ist da nichts genaueres definiert. In der Beschreibung steht: "Img: memory for the image (header and image data)prepared by the called application".

Das sagt eindeutig dass die Applikation den Speicher allozieren muss. Was Du in LabVIEW mit Initiliaze Array auch machen kannst. Ob dieses Array den nun als Pointer an die DLL übergeben werden kann oder nicht, wissen wir nicht. Du hast nähmlich noch immer nicht mal ein Stück Header gepostet, noch mehr als ein kurzes Zitat aus dem Manual. Am besten wäre nÄturlich wenn Du ein C Beispielprogramm hast in dem man genau sehen kann was den getan werden muss.

Aber alles in allem ist zu dem ganzen Thema eines zu sagen: Das ist nich LabVIEw Point and Click! Man muss einiges an C Programmierung verstehen um ein Framegrabber gut in LabVIEw integreieren zu können, ob man da jetzt in C eine Wrapper-DLL programmiert oder das direkt im LabVIEW Diagram versucht. Letzteres braucht effektiv fast immer sogar mehr C Programmierkenntnisse als in C eine Wrapper DLL zu programmiern.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: DLL einbinden mit "void * func" - rolfk - 17.10.2011 14:08

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Dll erstellen - void* als Funktion-Ausgabewert Wujaszek 2 7.281 15.05.2014 10:17
Letzter Beitrag: rolfk

Gehe zu: