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 

Pointer auslesen



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!

24.04.2007, 12:27
Beitrag #1

Pfogde Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Feb 2007

Studentenversion 8.20
-
kA

73486
Deutschland
Pointer auslesen
Hallo Leutz,

Hätte mal eine kurze Frage bzgl. Pointer und LabVIEW.
Habe schon im Tutorial gelesen, dass das nicht ganz verträglich ist.

Möchte ein Probeprogramm schreiben, das ich nicht unbedingt brauche, und möchte vorher abchecken ob das einfach zu machen ist, oder ob ich mir das spare.

Folgendes:

In meiner DLL-Beschreibung ist ein Parameter angegeben, der einen Pointer darstellt:

Pointer to the image buffer.

diese DLL soll einen Snapshot einer Kamera auslösen und ich vermute, dass der Pointer auf den Speicherplatz verweist.

Meine Frage ist nun, ob meine Vermutung richtig ist und wenn ja, kann ich das Bild/Image irgendwie einlesen bzw. anzeigen.

Gruß Daniel

Lieber Arm dran als Arm ab ;-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
24.04.2007, 13:42
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Pointer auslesen
' schrieb:In meiner DLL-Beschreibung ist ein Parameter angegeben, der einen Pointer darstellt:

Pointer to the image buffer.

diese DLL soll einen Snapshot einer Kamera auslösen und ich vermute, dass der Pointer auf den Speicherplatz verweist.

Meine Frage ist nun, ob meine Vermutung richtig ist und wenn ja, kann ich das Bild/Image irgendwie einlesen bzw. anzeigen.
Das sollte gehen.

Dein Image, das die DLL erstellt, hat ja ein bestimmtes Format. Ich sag mal so: "Array of Byte" oder "Array of word" oder ähnlich. Also braucht die DLL einen Pointer auf einen ebensolchen Bereich. Das geht so: An den Eingang eines DLL-Knotens legst du ein entsprechend großes Array diesen Typs an. An den korrespondieren Ausgang schließt du einen Draht an - an dem dein Image herauskommt. Dieses ganz ordinäre Array of "IntTyp" müsstest du dann nur noch in ein LV-Image umwandeln. Du kannst auch mal versuchen, anstelle eines Arrays den entsprechenden Datentyp eines Images zu nehmen, dann sparst du dir die Wandlung Int-Array nach Image.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.04.2007, 07:13
Beitrag #3

Pfogde Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Feb 2007

Studentenversion 8.20
-
kA

73486
Deutschland
Pointer auslesen
Danke schon mal IchSelbst,

Das heißt kurz gesagt, dass ich ein Array/Image-Typ am Eingang der DLL anlege um damit dem Pointer einen Speicherplatz zu "zeigen". Wenn ich nun an den Ausgang der DLL ein Anzeigeelemenz z.B. anschließe, wird mir das Bild angezeigt?
Wie wandle ich denn dann ein Array of "IntTyp" in ein LabVIEW-Image?
Mit dem "IntTyp" ist doch der Array-Typ gemeint, nehme ich an.

MfG Daniel

Lieber Arm dran als Arm ab ;-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.04.2007, 10:26 (Dieser Beitrag wurde zuletzt bearbeitet: 25.04.2007 10:40 von Pfogde.)
Beitrag #4

Pfogde Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Feb 2007

Studentenversion 8.20
-
kA

73486
Deutschland
Pointer auslesen
Habe jetzt versucht ein Image mit IMAQCreate anzulegen an den Pointer, aber dies fkt. nicht, da dies verschiedene Datentypen sind.
Hab ich da was falsch verstanden?
Wenn es in der DLL ein Pointer ist, muss ich dann im Aufrufknoten beim entsprechenden Parameter Pass = Value oder Pointer wählen?

Lieber Arm dran als Arm ab ;-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.04.2007, 18:50
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Pointer auslesen
' schrieb:Das heißt kurz gesagt, dass ich ein Array/Image-Typ am Eingang der DLL anlege um damit dem Pointer einen Speicherplatz zu "zeigen".
So soll es sein.
Zitat:Wenn ich nun an den Ausgang der DLL ein Anzeigeelemenz z.B. anschließe, wird mir das Bild angezeigt?
So soll es sein.

Zitat:Wie wandle ich denn dann ein Array of "IntTyp" in ein LabVIEW-Image?
Ohne die Hilfe gelesen zu haben, habe ich keine Ahnung. :PIch hab ja auch nur das prinzipielle Vorgehen beschrieben.

Zitat:Mit dem "IntTyp" ist doch der Array-Typ gemeint, nehme ich an.
Jawohl.


(Und ein posting weiter)

Zitat:aber dies fkt. nicht, da dies verschiedene Datentypen sind.
Wenn es verschiedene Datentypen sind, wird es nicht funktionieren.

Zitat:Hab ich da was falsch verstanden?
Wohl noch nicht.
Du musst zuerst kucken, was für einen Pointer die DLL erwarten: Pointer auf Char? Pointer auf UI16, UI32? Ich tippe mal auf Char. Danach erst kannst du dir Gedanken machen, was du am DLL-Knoten anschließen musst. Ich glaube mich grob entsinnen zu können, dass man ein Arry of char in ein Image wandeln kann.


Zitat:Wenn es in der DLL ein Pointer ist, muss ich dann im Aufrufknoten beim entsprechenden Parameter Pass = Value oder Pointer wählen?
Natürlich Pointer. Wichtiger als das ist aber der Typ der Daten, auf die der Pointer zeigt!

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.04.2007, 11:00
Beitrag #6

Pfogde Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Feb 2007

Studentenversion 8.20
-
kA

73486
Deutschland
Pointer auslesen
Danke nochmals IchSelbst,

denke auch mal im Sinne der anderen, denn wenn ich die posts so ansehe, fällt mir immer dein Nick ins Auge.

Jetzt hab ich nur das mit dem Pointer immer noch nicht ganz verstanden.

Am Aufruf-Knoten der DLL muss ich als Pass-Parameter "Pointer to Value" setzen, wenn in der Beschreibung der DLL der Parameter als Pointer beschrieben wird!?

MfG Daniel


Angehängte Datei(en) Thumbnail(s)
   

Lieber Arm dran als Arm ab ;-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
26.04.2007, 17:51
Beitrag #7

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Pointer auslesen
' schrieb:Am Aufruf-Knoten der DLL muss ich als Pass-Parameter "Pointer to Value" setzen, wenn in der Beschreibung der DLL der Parameter als Pointer beschrieben wird!?
Jawohl, genau so musst du es machen.

Und weiter: In deinem Falle ist die Auswahl "numeric" bei "Type" wohl falsch. Da gehört Array hin. Und dann bei "pass" eben "Array auf Daten".

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.04.2007, 07:19
Beitrag #8

Pfogde Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Feb 2007

Studentenversion 8.20
-
kA

73486
Deutschland
Pointer auslesen
Dankeschön,

das mit dem Bild war nur zur Ansicht, welchen Parameter ich meinte.
Also müsste ich jetzt noch herausfinden was für ein Array-Typ mein Image ist und das dann unter Data Type zuordnen,
was muss ich dann unter Array-Data einstellen?

Mal ne andere Frage:

Der Name des Funktionsparameter in der DLL beschrieben, muss nicht mit meinem festgelegten Namen in dem Funktinsprototyp übereinstimmen, wohl aber der Typ, der Aufruf und die Stelle in der Funktion?

MfG Daniel


Angehängte Datei(en) Thumbnail(s)
   

Lieber Arm dran als Arm ab ;-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.04.2007, 07:59
Beitrag #9

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Pointer auslesen
' schrieb:Also müsste ich jetzt noch herausfinden was für ein Array-Typ mein Image ist und das dann unter Data Type zuordnen,
Jawohl.

Zitat:was muss ich dann unter Array-Data einstellen?
Genau das, was du im Bild angegeben hast.
Bei Minimum Size musst du nichts angeben, wenn du am Eingang des DLL-Knotens ein Array anlegst. Willst du nichts anlegen, dann kannst du hier eine Länge eintragen.

Zitat:Der Name des Funktionsparameter in der DLL beschrieben, muss nicht mit meinem festgelegten Namen in dem Funktinsprototyp übereinstimmen, wohl aber der Typ, der Aufruf und die Stelle in der Funktion?
Jawaohl, alle viel Punkte sind richtig.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.04.2007, 08:09
Beitrag #10

Pfogde Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Feb 2007

Studentenversion 8.20
-
kA

73486
Deutschland
Pointer auslesen
Entschuldige,

ich meinte was ich unter Array-Format eingeben muss.


Angehängte Datei(en) Thumbnail(s)
   

Lieber Arm dran als Arm ab ;-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Datenübergabe an DLL Pointer to Pointer Reiling 2 9.593 02.02.2018 10:59
Letzter Beitrag: Reiling
  Absturz durch unzulässige Pointer VS_03 3 10.305 28.10.2016 18:32
Letzter Beitrag: VS_03
  dll mit Pointer auf komplexe Struktur einbinden Wedgewood 11 17.003 27.04.2014 23:44
Letzter Beitrag: Wedgewood
  Pointer auf Array mit Labview übertragen und darstellen lupus022 35 32.480 19.07.2013 10:53
Letzter Beitrag: lupus022
  Pointer und MoveBlock OXO 4 8.203 03.06.2013 16:31
Letzter Beitrag: OXO
  Pointer auf Subarray übergeben Event Horizon 5 7.423 15.07.2012 10:21
Letzter Beitrag: rolfk

Gehe zu: