Hallo Leute,
ich habe ein Problem, dass ich mir nicht erklären kann:
Ich habe eine List(of T) namens
die durch einen Thread alle 2,5 Sekunden mit dem Inhalt einer anderen Liste befüllt wird. Während des Befüllens wird der Zugriff auf diese List durch ein ManualResetEvent und dessen .Wait-Routinen gesperrt.
In einer anderen Klasse möchte ich nun zum Verarbeiten der in dieser Liste eingefüllten Objekte eine temporäre Kopie erstellen um die Objekte in FinishedBuffer stückweise nach Abarbeitung herauszulöschen.
Die Kopie soll mit folgendem Befehl geschehen:
Jedoch erhalte ich beim Ausführen manchmal die Exception mit der Message:
Da ich aber keine Grenzen und Indizes beim Instanziieren und Kopieren angebe, kann ich mir das ganze nicht erklären. Der Konstruktor sollte doch beim Übergeben einer existierenden Liste auch die Grenzen korrekt setzen?!
Habt Ihr eine Idee?
Bin für jegliche Denkanstöße dankbar!
Gruß
Johnny
ich habe ein Problem, dass ich mir nicht erklären kann:
Ich habe eine List(of T) namens
Code:
m_InsertMessageContainerFIFO.FinishedBuffer
In einer anderen Klasse möchte ich nun zum Verarbeiten der in dieser Liste eingefüllten Objekte eine temporäre Kopie erstellen um die Objekte in FinishedBuffer stückweise nach Abarbeitung herauszulöschen.
Die Kopie soll mit folgendem Befehl geschehen:
Code:
Dim tempList As List(Of InsertMessageContainer) = _ New List(Of InsertMessageContainer)(m_InsertMessageContainerFIFO.FinishedBuffer)
Code:
Source array was not long enough. Check srcIndex and length, and the array's lower bounds. StackTrace: at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable) at System.Collections.Generic.List`1.CopyTo(T[] array, Int32 arrayIndex) at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at Database.DataObjects.Message_Object.InsertMessages_archiv_Thread_Sub() in Database.DataObjects\Message_Object.vb:line 319
Habt Ihr eine Idee?
Bin für jegliche Denkanstöße dankbar!
Gruß
Johnny
Comment