Sorry das ich das nochmal vor krame..
Habe das vorhin nochmal gelesen und festgestellt das deine abfrage auf
viele zu spät kommt..
Was machst du wenn
ist?
Dann wird das Array alist() nicht initialisiert und die nächste Abfrage lässt deine Anwendung abstürzen.
Code:
alist = Split(flist, "|")
n_Anz = UBound(alist) - LBound(alist) + 1
mache es direkt nach der Initialisierung von flist.
Code:
Public Function GetDelphiStringVektor(Anzahl As Long) As Variant
Dim flist As String
Dim LngP As Long
Dim alist() As String
Const Delimiter As Byte = 124
Dim StrVektor() As String
Dim i As Long
Dim n_Anz As Long
Dim Bis As Long
LngP = PAnsiChar_To_Excel(Delimiter) ' >>> "|"
flist = VBStrFromAnsiPtr(LngP)
If flist > "" Then
alist = Split(flist, "|")
n_Anz = UBound(alist) - LBound(alist) + 1
Bis = Anzahl
If n_Anz < Anzahl Then Bis = n_Anz
ReDim StrVektor(n_Anz, 0 To 0) ' SpaltenVektor
For i = LBound(alist) To Bis - 1
StrVektor(i, 0) = alist(i)
Next
GetDelphiStringVektor = StrVektor
else
GetDelphiStringVektor = ""
End If
End Function
gruss