Hallo Leute,
ich habe ab und an Probleme mit einem Thread, das via der Com-Schnittstelle auf ein erstelltes Objekt zugreift.
Es handelt sich um die imcReportLib (falls die jemand kennt).
Zu 90 % funktioniert die Routine wunderbar. Also sie läuft durch und macht was sie soll...
Sie enthält diese Codezeilen:
Dann folgen weitere Zeilen wie die letzten drei.
Ab und an kommt dann irgendwann (also mal bei der 1, 3, 10, oder ...) in einer der Zeile "MyDRBFile.Texts("xxx").Text = yyy" die folgende Fehlermeldung:
"System.Runtime.InteropServices.COMException wurde nicht behandelt. ErrorCode=-2147219625 Message= Es existiert kein geöffnetes Dokument mit dem angegebenen Titel.
Source=""
StackTrace: bei ImcReportLib.IRgTable.set_CellText(Int32 Column, Int32 Row, String Value)
bei PowerQualityAnalysis.SwitchReportSingleFile.CreateSingleSwitchingDRBFile()
in E:\40_Software\10_____PQA\00_PQA_Sourcen\PowerQualityAnalysis\SwitchOperation\SwitchReportFileGeno.vb:Zeile 91.
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
InnerException: "
Warum passiert das? Ist es der .net Garbage Collector? Der das Objekt dann löscht?
Und wie kann ich das verhindernt?
Oder was ist es sonst? Bin ratlos...
Vielen Dank schon mal im Voraus
Tukuan
ich habe ab und an Probleme mit einem Thread, das via der Com-Schnittstelle auf ein erstelltes Objekt zugreift.
Es handelt sich um die imcReportLib (falls die jemand kennt).
Zu 90 % funktioniert die Routine wunderbar. Also sie läuft durch und macht was sie soll...
Sie enthält diese Codezeilen:
VB.NET-Quellcode
- Dim SwReportGeno As New ImcReportLib.RgApplication
- Dim MyDRBFile As ImcReportLib.RgDocument
- MyDRBFile = SwReportGeno.OpenDocument("c:\temp\temp.drb", 0)
- MyDRBFile.Texts("DataSetName").Text = FileName
- MyDRBFile.Texts("MeasurementDate").Text = SWFileDataSet.FileCreationDate.ToString
- MyDRBFile.Texts("KindOfSwitching").Text = KindOfSwitching
Dann folgen weitere Zeilen wie die letzten drei.
Ab und an kommt dann irgendwann (also mal bei der 1, 3, 10, oder ...) in einer der Zeile "MyDRBFile.Texts("xxx").Text = yyy" die folgende Fehlermeldung:
"System.Runtime.InteropServices.COMException wurde nicht behandelt. ErrorCode=-2147219625 Message= Es existiert kein geöffnetes Dokument mit dem angegebenen Titel.
Source=""
StackTrace: bei ImcReportLib.IRgTable.set_CellText(Int32 Column, Int32 Row, String Value)
bei PowerQualityAnalysis.SwitchReportSingleFile.CreateSingleSwitchingDRBFile()
in E:\40_Software\10_____PQA\00_PQA_Sourcen\PowerQualityAnalysis\SwitchOperation\SwitchReportFileGeno.vb:Zeile 91.
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
InnerException: "
Warum passiert das? Ist es der .net Garbage Collector? Der das Objekt dann löscht?
Und wie kann ich das verhindernt?
Oder was ist es sonst? Bin ratlos...
Vielen Dank schon mal im Voraus
Tukuan