Seite 1 von 1

Redim von Objekt-Arrays

Verfasst: Do 13. Feb 2020, 09:45
von Magier
Hallo

ich möchte ein Globales Array von Objekten vergrößern, das klappt aber nicht.
Hier ein Beispiel:

Code: Alles auswählen

REM  *****  BASIC  *****
Type obj_A
	str_A As String
	int_A As Integer
End Type

Dim arr_A(1) As obj_A

Sub Main
	Dim int_Count As Integer
	int_Count = F_Anzahl()
	MsgBox  UBound(arr_A)
	Redim arr_A(int_Count) As obj_A
	MsgBox  UBound(arr_A)
End Sub

Function F_Anzahl()As Integer
	F_Anzahl = 10
End Function
Also zum Verständnis.
Ich habe ein Globales Array von Objekten A und möchte es später ändern.
Ich habe das arr_A als
  • Public
  • Global
definiert. Habe auch mit New rumgespielt....
Nur geht das nicht, egal was ich versuche die Größe des Arrays ist immer 1.

Kann mir da jemand helfen oder einen Tipp geben?
Mit freundlichen Grüßen und schon mal Danke!
Magier
P.S. Benutze LibreOffic Version: 5.4.5.1 (x64) unter Windows

Re: Redim von Objekt-Arrays

Verfasst: Do 13. Feb 2020, 16:54
von mikele
Hallo,
deklariere das Array als Variant, sprich lass' As obj_A weg.

Re: Redim von Objekt-Arrays

Verfasst: Do 13. Feb 2020, 18:48
von Magier
Danke für die Antwort aber so richtig klappt das immer noch nicht.

Das hier funktioniert aber das Array arr_A ist dann kein Array von obj_A.

Code: Alles auswählen

Type obj_A
	str_A As String
	int_A As Integer
End Type

Dim arr_A(1)

Sub Main
	Dim int_Count As Integer
	int_Count = F_Anzahl()
	MsgBox  UBound(arr_A) REM <- 1
	Redim arr_A(int_Count)
	MsgBox  UBound(arr_A) REM <-10
End Sub

Function F_Anzahl()As Integer
	F_Anzahl = 10
End Function
So lässt sich der Code auch Übersetzten aber es ändert die Größe des Arrays nicht.

Code: Alles auswählen

REM  *****  BASIC  *****
Type obj_A
	str_A As String
	int_A As Integer
End Type

Dim arr_A(1) As obj_A

Sub Main
	Dim int_Count As Integer
	int_Count = F_Anzahl()
	MsgBox  UBound(arr_A) REM <- 1
	Redim arr_A(int_Count)
	MsgBox  UBound(arr_A) REM <- 1
End Sub

Function F_Anzahl()As Integer
	F_Anzahl = 10
End Function

Re: Redim von Objekt-Arrays

Verfasst: Do 13. Feb 2020, 23:49
von mikele
Hallo,
Das hier funktioniert aber das Array arr_A ist dann kein Array von obj_A.
Wo ist das Problem?
Es ist dann variant, kann also Elemente jeden Typs aufnehmen.