Ich habe folgende Sub definiert:
eing_puffer und ausg_puffer sind als Microsoft.VisualBasic.Collection definiert.
Diese Sub nimmt ein Objekt aus dem Eingangspuffer, "trennt" dieses und legt zwei Objekte in den Ausgangspuffer.
Angezeigt wird das ganze dann über den folgenden Code:
Eigentlich sollte in der Msgbox dann folgendes stehen (für ein entnommenes Objekt aus dem Eingangspuffer):
Name Länge Status
1 20 rest
1 40 gut
Drin steht aber:
Name Länge Status
1 40 gut
1 40 gut
Wie es aussieht, wird den Objekten im Ausgangpuffer jeweils die letzte Länge und der letzte Status zugewiesen, obwohl ich mit "ausg_puffer.Add(ws_old)" beides einer Microsoft.VisualBasic.Collection zuweise. Und sofern ich die Collection richtig verstanden habe, speichert diese die Werte als Collection, die man ihr übergibt.
Was ist hier falsch? Irgendjemand eine Idee?
Quellcode
- Sub trennen(ByVal old As Integer, ByVal anschlag As Double)
- Dim ws_old As ws1
- ws_old = eing_puffer.Item(old)
- ws_old.laenge = Math.Max(0, ws_old.laenge - anschlag)
- ws_old.status = "rest"
- ausg_puffer.Add(ws_old)
- MsgBox(ws_old.name & " " & CStr(ws_old.laenge) & " " & ws_old.status) '==> liefert 1 20 rest '(Name Länge Status)
- ws_old = eing_puffer.Item(old)
- ws_old.laenge = Math.Max(ws_old.laenge, anschlag)
- ws_old.status = "gut"
- ausg_puffer.Add(ws_old)
- MsgBox(ws_old.name & " " & CStr(ws_old.laenge) & " " & ws_old.status) '==> liefert 1 40 gut '(Name Länge Status)
- End Sub
eing_puffer und ausg_puffer sind als Microsoft.VisualBasic.Collection definiert.
Diese Sub nimmt ein Objekt aus dem Eingangspuffer, "trennt" dieses und legt zwei Objekte in den Ausgangspuffer.
Angezeigt wird das ganze dann über den folgenden Code:
Eigentlich sollte in der Msgbox dann folgendes stehen (für ein entnommenes Objekt aus dem Eingangspuffer):
Name Länge Status
1 20 rest
1 40 gut
Drin steht aber:
Name Länge Status
1 40 gut
1 40 gut
Wie es aussieht, wird den Objekten im Ausgangpuffer jeweils die letzte Länge und der letzte Status zugewiesen, obwohl ich mit "ausg_puffer.Add(ws_old)" beides einer Microsoft.VisualBasic.Collection zuweise. Und sofern ich die Collection richtig verstanden habe, speichert diese die Werte als Collection, die man ihr übergibt.
Was ist hier falsch? Irgendjemand eine Idee?
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „ccc“ ()