Hallo, zusammen!
Ich lasse in meinem Programm Daten "im Hintergrund" abrufen. Dazu rufe ich im Programm mit flogendem Code
Private UpdateThread As Thread
Private Sub FillCalendar()
...
UpdateThread = New Thread(AddressOf ReadJobs)
UpdateThread.Start()
...
End Sub die folgende Prozedur auf:
Private Sub ReadJobs()
ReadingFinished = False
Try
objDataSet.Tables("Access").Clear()
Catch ex As Exception
End Try
connAccess.Open()
Try
daAccess = New OleDbDataAdapter("SELECT * FROM Termine " & _
"WHERE Datum = #" & Mid(dtpDatum.Value.ToString, 4, 2) & "-" & _
Mid(dtpDatum.Value.ToString, 1, 2) & "-" & _
Mid(dtpDatum.Value.ToString, 9, 2) & "#", connAccess)
daAccess.Fill(objDataSet, "Access") '***
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
Call CloseAccess()
End Sub Als Fehlermeldung bekomme ich dann aber folgendes:
System.Runtime.InteropServices.InvalidComObjectException: Ein COM-Objekt, das vom darunterliegenden RCW getrennt wurde, kann nicht verwendet werden.
at System.Data.OleDb.OleDbConnection.IDBProperties()
at System.Data.OleDb.OleDbConnection.PropertyValueGetInitial(Guid propertySet, Int32 propertyId, Object& value)
at System.Data.OleDb.OleDbConnection.ResetState()
at System.Data.OleDb.OleDbConnection.get_State()
at System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState)
at System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
at Terminbuch.Hauptformular.ReadJobs() in E:\...\Hauptformular.vb:line 661
Das Programm steigt dabei an der mit *** markierten Stelle aus.
Kann mir dabei jemand helfen, das Problem zu lösen?
Vielen Danke schon mal im Voraus!
Gruß
Boris |