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 

Buffer



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!

29.01.2007, 16:50
Beitrag #11

Semtex Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Jan 2007

7.1
2002
kA


Oesterreich
Buffer
' schrieb:Ich bin noch immer der Meinung, dass das so nicht gehen wird.
Wenn die DLL einen Pointer erwartet - UND DAS TUT SIE - musst du ihr einen geben.

Sodala, die letzten 10min bin ich im Kreis herumgesprungen und habe mich gefreut *g* also das Programm läuft! Es ist nur noch eine Sache, und zwar das die Pufferelemente nach dem DLL Block noch immer gleich sind wie am Anfang. Aber das liegt woll an der leeren Batterie von unserem Signalgenerator.

VIELEN VIELEN VIELEN DANK!!!Big Grin

Also ich hoffe das funktioniert jetzt. also bis jetzt sieht es sehr gut aus!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
29.01.2007, 16:58
Beitrag #12

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.689
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Buffer
' schrieb:Also ich hoffe das funktioniert jetzt. also bis jetzt sieht es sehr gut aus!
Und was hast du jetzt noch angepasst? So von ganz alleine kann es ja wohl nicht plötzlich funktionieren.

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
05.02.2007, 08:29
Beitrag #13

Semtex Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Jan 2007

7.1
2002
kA


Oesterreich
Buffer
' schrieb:Und was hast du jetzt noch angepasst?

Ich habe deinen "Rat" befolgt und als Buffer nur einen einzigen Pointer übergeben:
unsigned long GT_GetData(long hDevice, unsigned short int *pBuffer, unsigned long *lpOvl);

*pBuffer ist eine FOR-Schleife mit 1024 erzeugten Werten. Ob unsere DLL nun die erzeugten werde am "Ausgang" ändert ist fraglich, Hardwaretests konnten wir bis jetzt noch nich erzeugen!

Vielen Dank für deine Hilfe! Sollte es noch Fragen geben poste ich sowieso wieder Wub_anim
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.02.2007, 11:20
Beitrag #14

Semtex Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Jan 2007

7.1
2002
kA


Oesterreich
Buffer
Sodala, neuer Montag, neue Frage, neues Glück!

Mahlzeit alle miteinander.

Jetzt habe ich wieder einmal eine ganz nette Frage, die wie folgt lautet:

Ich habe 3 Werte, jeweils 4 Byte
Ich will nun diese 3*4 Byte (Pointer, Buffer size, Buffer validpoints) hinterinander "schateln"

Das heißt ich will 12 Byte haben, wobei die 1. 4 byte den Wert von "Pointer", die 2. 4 Byte den Wert von Buffer size, und die 3. 4 Byte den Wert von validpoints enthalten.

Hat jemand eine Idee? Gibt es überhaupt einen 12 Byte Datentyp? (das wird dann in eine DLL übergeben als Zeiger)

"Pointer" soll dann der Zeiger auf ein 1024-Werte 1D-Array sein (siehe oben)

Würde mich auf antworten freuen,

so long
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.02.2007, 13:17
Beitrag #15

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.689
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Buffer
' schrieb:Ich habe 3 Werte, jeweils 4 Byte
Ich will nun diese 3*4 Byte (Pointer, Buffer size, Buffer validpoints) hinterinander "schateln"
Sieht sehr nach Cluster aus - oder (Byte-)Stream - oder PChar.

Zitat:Gibt es überhaupt einen 12 Byte Datentyp? (das wird dann in eine DLL übergeben als Zeiger)
Klar doch. PChar der Länge 12. Cool

Nachdem ich gelesen habe, was du in naiver Weise so einfach geschrieben hast, komme ich zu dem Ergebnis, dass dein Vorhaben - zumindest der erste Schritt - doch lösbar sein könnte. Im Prinzip kannst du auch in LV irgendwas, also auch numerische Werte, in einen PChar schreiben. Diesen PChar kannst du an die DLL übergeben - per ein Pointer. Die DLL würde nicht merken, respektive es würde sie nicht interessieren, dass die Daten nicht aus einem Cluster (was die Daten eigenlich darstellen) kommen sondern aus einem PChar. Diese Methode ist dann aber eine manuell-brachiale, ist völlig gegen alle Programmierkonventionen - und sollte eigentlich vermieden werden.

Zitat:"Pointer" soll dann der Zeiger auf ein 1024-Werte 1D-Array sein (siehe oben)
Alleine das macht Probleme - und zwar erhebliche bis unlösbare.


Hab ich dich schon mal gefragt, ob du eine Wrapper-DLL schrieben kannst respektive an eine kommen könntest?

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
12.02.2007, 14:44
Beitrag #16

Semtex Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Jan 2007

7.1
2002
kA


Oesterreich
Buffer
[quote name='IchSelbst' post='22489' date='12.02.2007, 13:17']Sieht sehr nach Cluster aus - oder (Byte-)Stream - oder PChar.
Klar doch. PChar der Länge 12. Cool[/quote]
PChar ist ja ein C-String oder?

[quote name='IchSelbst' post='22489' date='12.02.2007, 13:17']Im Prinzip kannst du auch in LV irgendwas, also auch numerische Werte, in einen PChar schreiben. Diesen PChar kannst du an die DLL übergeben - per ein Pointer. Die DLL würde nicht merken, respektive es würde sie nicht interessieren, dass die Daten nicht aus einem Cluster (was die Daten eigenlich darstellen) kommen sondern aus einem PChar.[/quote]
Wie stell ich das ein, dass der PChar per Pointer übergeben wird? [/quote]

[quote name='IchSelbst' post='22489' date='12.02.2007, 13:17']Alleine das macht Probleme - und zwar erhebliche bis unlösbare.
Hab ich dich schon mal gefragt, ob du eine Wrapper-DLL schrieben kannst respektive an eine kommen könntest?[/quote]
Was ist eine Wrapper-DLL? Nein kann ich nicht!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.02.2007, 15:25
Beitrag #17

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.689
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Buffer
' schrieb:PChar ist ja ein C-String oder?
Richtig.

Zitat:Wie stell ich das ein, dass der PChar per Pointer übergeben wird?
PChar geht nur mit Pointer, das ist ja der Trick dabei. In LV geht das dann wie folgt: Du nimmt einen ganz normalen String und packst deine Daten da rein (wie die du da reinbringst, das ist wieder was anderes). Den String gibst du auf den DLL-Knoten und sagst als Typ "String - Zeiger auf Daten". Das ist dann praktisch ein PChar.

Zitat:Was ist eine Wrapper-DLL?
Die Wrapper-DLL wird zwischen das LV-Programm und die "User-DLL" geschaltet. Die Wrapper-DLL hat zur LV-Seite hin eine LV-kompatible Schnittstelle und zur User-DLL hin eine User-DLL-kompatible Schnittstelle. Beide - LV und User-DLL - merken nichts davon respektive dürfen nichts davon merken, dass zwischen ihnen noch jemand steht. Die Wrapper-DLL konvertiert zwischen den beiden Schnittstellen hin und her. Prinzipiell muss die Warpper-DLL keine DLL sein, ein funktionsgleiches Programm welcher Art auch immer tuts auch.

Und nicht vergessen - das mit dem Pointer im Cluster. Noch ist mir hierfür keine LV-kompatible Lösung im Sinne eines Datenfluß-kompatiblen Algorithmusses eingefallen.

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.02.2007, 09:28 (Dieser Beitrag wurde zuletzt bearbeitet: 26.02.2007 09:32 von Semtex.)
Beitrag #18

Semtex Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Jan 2007

7.1
2002
kA


Oesterreich
Buffer
' schrieb:Richtig.

PChar geht nur mit Pointer, das ist ja der Trick dabei. In LV geht das dann wie folgt: Du nimmt einen ganz normalen String und packst deine Daten da rein (wie die du da reinbringst, das ist wieder was anderes). Den String gibst du auf den DLL-Knoten und sagst als Typ "String - Zeiger auf Daten". Das ist dann praktisch ein PChar.

Hab aber nur diese Auswahlmöglichkeiten:
   

Was sagst du zu dieser Lösung:
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.02.2007, 10:43
Beitrag #19

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.689
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Buffer
' schrieb:Hab aber nur diese Auswahlmöglichkeiten:
Genau an die hab ich gedacht.

Zitat:Was sagst du zu dieser Lösung:
Das wird nicht gehen. Du übergibst hier ein Array, keinen Pointer auf ein Array. Was du brauchst ist aber ein Pointer auf das Array. Du wirst da nicht um eine Wrapper-DLL herumkommen - solange mir (oder jemand anderem) nichts entsprechendes einfällt.

Im Übrigen kann die For-Schleife durch eine bestehende Funktion ersetzt werden: Array erstellen bzw. initislisieren.

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.02.2007, 11:58
Beitrag #20

Semtex Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Jan 2007

7.1
2002
kA


Oesterreich
Buffer
' schrieb:Das wird nicht gehen. Du übergibst hier ein Array, keinen Pointer auf ein Array. Was du brauchst ist aber ein Pointer auf das Array. Du wirst da nicht um eine Wrapper-DLL herumkommen - solange mir (oder jemand anderem) nichts entsprechendes einfällt

Also soweit ich weiß meinst du einen c-code selber schreiben, welcher dies dann umwandelt bzw einen pointer erstellen der auf das array zeigt!
Muss es eine DLL sein, oder kann das auch nur ein c-code sein?

Gibt es da von LabVIEW bereits Vorlagen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Buffer reservieren + Pointer auslesen one734 14 15.411 09.09.2008 11:04
Letzter Beitrag: rolfk

Gehe zu: