Anzeige
Archiv - Navigation
1420to1424
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Adresse der an Funktion übergegebener Arrays falsc

Adresse der an Funktion übergegebener Arrays falsc
15.04.2015 15:25:48
Gustschin

Public Declare Function VarPtrArray Lib "VBE6" Alias "VarPtr" (ByRef Var() As Any) As Long
Sub TestProz()
Dim a(3) As Integer
Dim b(3) As Integer
Dim ret As Integer
Dim aPtr As Long
Dim bPtr As Long
a(0) = 1
a(1) = 2
a(2) = 3
a(3) = 4
aPtr = VarPtrArray(a())
bPtr = VarPtrArray(b())
ret = test(a(), b())
End Sub
Public Function test(a_test() As Integer, b_test() As Integer) As Integer
Dim a_testPtr As Long
Dim b_testPtr As Long
a_testPtr = VarPtrArray(a_test())
b_testPtr = VarPtrArray(b_test())b_test(0) = a_test(0) + 1
b_test(1) = a_test(1) + 1
b_test(2) = a_test(2) + 1
b_test(3) = a_test(3) + 1
test = 1
End Function

Hallo zusammen,
wenn ich versuche, die Adressen der Arrays mit Funktion VarPtrArray zu ermittel, so stelle folgende Fehler fest:
aPtr und bPtr aus der Prozedur TestProz haben den gleichen Wert obwohl sie die Adresse verschiedener Arrays darstellen sollten.
a_testPtr und b_testPtr aus der Funktion haben zwar unterschiedliche Werte aber die Differenz ist nur 4 Byte und das kann doch nicht sein, weil die Arraygröße länger als 4 Byte ist.
Kann mir jemand erklären, ist das Ergebnis der Funktion VarPtrArray hier tatsächlich falsch oder habe ich einen Denkfehler?
Vielen Dank im Voraus!

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige