mehr elemnte in einer liste, als NEW aufgerufen wird!!
Übersicht

horstböhseBetreff: mehr elemnte in einer liste, als NEW aufgerufen wird!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo!
Ich arbeite gerade mit Typelisten, was ich sehr praktisch finde! Allerdings kann ich mir etwas nicht erklären: Mit NEW kann man ja ein neues Element an eine Liste anfügen. Nun wird in meinem Programm im Zusammenhang mit der Variablen zur Laufzeit NEW nur 15mal aufgerufen (Habs mit dem Debugger überprüft) Wenn ich die Liste aber mit der FOR...EACH - Schleife ausgebe, listet er mir 24 Elemente auf!! Wie kann denn das sein! Legt ein andere Befehl außer NEW ein neues element an?? Kann mir das nicht erklären und hoffe, es kann mir hier jemand helfen!! |
||
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Lokalisiere dein Problem und gebe uns ein dementsprechendes Code-Beispiel, dann können wir glaube ich besser helfen ![]() |
||
~ Hey Ho Let's Go ~ |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Da wir keine Götter sind und nicht hellsehen können brauchen wir da schon Source | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
horstböhse |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sorry, dachte, ist vielleich ein generelles Problem.
Also, hier meine Typedeklarationen: Code: [AUSKLAPPEN] Type KoeffizT Field a# Field b# Field c# Field d# End Type Type PunktT Field wert# Field steigungx# Field steigungy# End Type Type Array2DT Field Punkte.PunktT=Null Field zeilen% Field spalten% End Type Und die Funktion, in der das Problem auftritt: Code: [AUSKLAPPEN] Function Interpolate.Array2DT(stuetzpunkte.Array2DT,anzahlinterp%) Heightfield.Array2DT=New Array2DT Hilfspunkt.PunktT=Null Koeffiz.koeffizT=New koeffizT ;Alles an den Anfang setzen stuetzpunkte\Punkte= First PunktT ;Stuetzpunktfeld durchlaufen For y=0 To (stuetzpunkte\zeilen-1) For x=0 To (stuetzpunkte\spalten-2) ;Nachfolger holen Hilfspunkt=After stuetzpunkte\Punkte GetKoeffiz(Koeffiz,x,stuetzpunkte\Punkte\wert,stuetzpunkte\Punkte\steigungx,x+1,Hilfspunkt\wert,Hilfspunkt\steigungx) DeltaStY#=(Hilfspunkt\steigungY-stuetzpunkte\Punkte\steigungY)/(anzahlinterp+1.0) ;Berechnung der Zwischenpunkte und der YSteigungen For a = 0 To anzahlinterp IntX#=x+a/(anzahlinterp+1.0) Heightfield\Punkte=New PunktT Heightfield\Punkte\wert=Koeffiz\a*IntX^3+Koeffiz\b*IntX^2+Koeffiz\c*IntX+Koeffiz\d Heightfield\Punkte\steigungY=stuetzpunkte\Punkte\steigungY+a*DeltaStY# Next stuetzpunkte\Punkte=After stuetzpunkte\Punkte Next ;Letzer Punkt der Zeile heightfield\punkte=New punktT Heightfield\Punkte\wert=stuetzpunkte\Punkte\wert Heightfield\Punkte\steigungX=stuetzpunkte\Punkte\steigungX Heightfield\Punkte\steigungY=stuetzpunkte\Punkte\steigungY ;Zur nächsten Zeile springen If Not stuetzpunkte\zeilen = (y+1) Then stuetzpunkte\Punkte=After stuetzpunkte\Punkte End If Next Heightfield\zeilen=stuetzpunkte\zeilen Heightfield\spalten=(stuetzpunkte\spalten-1)*(anzahlinterp+1)+1 stuetzpunkte\punkte=First punktT heightfield\punkte=First punktT For heightfield\punkte=Each punktT DebugLog(heightfield\punkte\wert) Next Return(Heightfield) End Function |
||
horstböhse |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Kann mir keiner Helfen?
Dann vielleicht noch die Information: Bei meinem Testlauf sind in Code: [AUSKLAPPEN] stuetzpunkte 3*3 Punkte enthalten und Code: [AUSKLAPPEN] anzahlinterp% beträgt 1.
Dann müssten sich in Code: [AUSKLAPPEN] Heightfield am Ende 15 Punkte befinden, es sind aber 24!!! ![]() ![]() ![]() |
||
horstböhse |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mitlerweile habe ich den Fehler lokalisiert!!
BB behandelt jeden Type als eine ganze Liste!! Ich dachte, Type ist nur der Datentyp und jede neue Instanz ist eine eigene Liste!! Gibt es nicht die Möglichkeit, mehrere unabhängige Listen eines Types zu erstellen? |
||
horstböhse |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mitlerweile habe ich den Fehler lokalisiert!!
BB behandelt jeden Type als eine ganze Liste!! Ich dachte, Type ist nur der Datentyp und jede neue Instanz ist eine eigene Liste!! Gibt es nicht die Möglichkeit, mehrere unabhängige Listen eines Types zu erstellen? |
||
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nein leider nicht. das gibt es erst ab blitzmax. musst dir wohl oder übel über soetwas wie "Field ID%" aushelfen um types nach kategorien zu unterscheiden | ||
horstböhse |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Oh man, langsam aber sicher schwindet meine anfängliche Begeisterung für BlitzBasic!! ![]() Kann es nicht sowas wie BlitzC++ geben?? Naja, trotzdem danke!! |
||
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
horstböhse hat Folgendes geschrieben: Kann es nicht sowas wie BlitzC++ geben??
BlitzMax ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group