Hi traderdoc, hi Kronenchakra,
ich glaube wir arbeiten mit unterschiedlichen Builds die unterschiedlich arbeiten.
Also ich habe Build 1045
und da ergeben sich folgende Ergebnisse:
bei 1.:
Code:
void OnStart()
{
string Feld[];
string Zeichenkette="0,1,2,3,4";
Alert("ArraySize is ",ArraySize(Feld));
int count=StringSplit(Zeichenkette,StringGetCharacter(",",0),Feld);
Alert("ArraySize is ",ArraySize(Feld));
Alert(count," Elements found");
if(count<0)
{
Alert("a *ERROR* oh Kurt, Array is too small!");
return;
}
for(int i=0; i<count; i++) // IndexMax = count-1
Alert(Feld[i]);
}
Feld[].PNG
bei 2.:
Code:
void OnStart()
{
string Feld[1];
string Zeichenkette="0,1,2,3,4";
Alert("ArraySize is ",ArraySize(Feld));
int count=StringSplit(Zeichenkette,StringGetCharacter(",",0),Feld);
Alert("ArraySize is ",ArraySize(Feld));
Alert(count," Elements found");
if(count<0)
{
Alert("a *ERROR* oh Kurt, Array is too small!");
return;
}
for(int i=0; i<count; i++) // IndexMax = count-1
Alert(Feld[i]);
}
Feld[1].PNG
bei 3.:
Code:
void OnStart()
{
string Feld[20];
string Zeichenkette="0,1,2,3,4";
Alert("ArraySize is ",ArraySize(Feld));
int count=StringSplit(Zeichenkette,StringGetCharacter(",",0),Feld);
Alert("ArraySize is ",ArraySize(Feld));
Alert(count," Elements found");
if(count<0)
{
Alert("a *ERROR* oh Kurt, Array is too small!");
return;
}
for(int i=0; i<count; i++) // IndexMax = count-1
Alert(Feld[i]);
}
Feld[20].PNG
... und das ist genau wie von mir beschrieben, das Feld wird neu allokiert!
... oder habe ich vieleicht "Build 1045 extended vision" und wusste bisher gar nix davon?
ciao ping