' schrieb:Tja, das wär doch einmal eine Frage wert: Wie erstelle ich ein 1D-Array mit 512 Werten (Elementen) in LabVIEW 7.20?
Wie in allen anderen LV-Versionen auch: Array-Palette>Array initialisieren. Dabei ist zu beachten, dass als Array-Element ein UInt16 notwendig ist.
Zitat:Eines ist mir auch aufgefallen: Ich habe Probleme damit die ganzen examples die hier zu finden sind zu öffnen weil ich schlicht weg kein 8.20 habe und die Versionen nicht kompatibel sind...
Dann beschwer' dich bei NI.
Zitat:Hier mal der Funktionsprototyp:
unsigned long up(long hDevice, unsigned short int *pBuffer, unsigned long size, unsigned long validPoints, unsigned long *lpoverlapped);
Jetzt zeigt du noch den von LV erzeugten Funktionsprototyp, dann kann ich genauer kucken.
Zitat:*lpoverlapped habe ich einmal als 0 angenohmen
Schließ mal an den Ausgang, der zu diesem Eingnag gehört, ein Anzeigeelement an.
Zitat:*pBuffer ist ein Zeiger auf ein 1D-Array.
Ich hoffe doch: Zeiger auf Wert UInt16
Zitat:Zusätzlich habe ich noch unsere nette Fehlermeldung hochgeladen (wuhu, wenigstens hängt sich LabVIEW nicht mehr permanent auf!!!)
Ich gehe mal davon aus, dass die DLL so intelligent ist keinen Fehler zu machen, wenn validPoints Null ist. Im schlimmsten Falle liegt das an dem LPOverlapped. LPOverlapped ist ein Pointer auf eine Struktur. Und das ist in LV nur schwer möglich (wie, weis ich aber noch nicht) oder eben auch gar nicht. Und wenn die DLL den Pointer respektive der Speicher, auf den der Pointer zeigt, benötigt - dann sehe ich schwarz.
Ansonsten sieht der DLL-Knoten nicht schlecht aus.