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 

Problem beim Verwenden von 2D Arrays



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!

03.03.2008, 14:47 (Dieser Beitrag wurde zuletzt bearbeitet: 03.03.2008 14:48 von IchSelbst.)
Beitrag #9

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Problem beim Verwenden von 2D Arrays
' schrieb:Also die Änderung von ** auf * bringt nur folgenden Fehler hervor:
"error C2109: Index erfordert ein Array oder einen Zeigertyp"
Du hast das aber mit dem Source, wie er in deinem ersten Posting hier steht, probiert? Und das geht nicht?

Zitat:Inzwischen habe ich aber auch mal Beispiele zur Übergabe an eine DLL von NI selbst gefunden
Ja, guck beim ersten Code. Da geht es auch mit nur einem Stern. Und beim zweiten scheint es ein Handle zu sein.

Zitat:Außerdem wäre es sicherlich auch gut zu wissen wo der Unterschied zwischen dem Array2D und Array2DHandle genau liegt.
Bei ersterem wird ein Pointer auf Daten übergeben, beim zweitem ein Pointer eben auf einen Handle. In dem Handle steht dann der Pointer auf die Daten. Willst du damit auf die Daten zugreifen, musst du zuerst auf den Handle zugreifen und dort dann den Pointer für die Daten holen. Handle ist aber so eine Sache. Ein LV-ArrayHandle sieht eben so aus, wie im zweiten Code. Im Handle würde dann auch noch drinnstehen, wie viele Dimensionen es gibt und wie groß die sind. Sogesehen enthält der Handle die Steuerinfomationen zum Feld - der Datenzeiger zeigt eben nur auf die Daten. Ob es in C++ einen ähnlichen Handle gibt oder ob der da ganz anders aussieht weiß ich nicht.

Probier halt einfach mal ganz gemein aus und übergib einfach einen ArrayHandle - auf das Teil mit den zwei Sternen. Mehr als abstürzen kann er ja nicht.


Ich selbst nehme immer einen Zeiger auf Daten und zähle den (in der DLL) dann "manuell" hoch. Dazu muss ich dann zwar den tatsächlichen Arrayindex selbst berechnen, aber dafür entfallen halt die Probleme mit den unterschiedlichen Datentypen in LV und C++.

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
Antwort schreiben 


Nachrichten in diesem Thema
Problem beim Verwenden von 2D Arrays - IchSelbst - 03.03.2008 14:47

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Fehler 1097 beim Übergeben von Arrays Flemmy 4 10.292 22.10.2017 21:07
Letzter Beitrag: rolfk
  Problem beim Einbinden einer DLL preacha 18 19.343 25.09.2008 11:51
Letzter Beitrag: baliik

Gehe zu: