Ich bekomme ein extrem seltsames Verhalten. Ein Objekt scheint zur gleichen Zeit null und nicht null zu sein, und eine Anweisung wird übersprungen. Ich bin wahrscheinlich ein Idiot, aber wenn es meine Schuld ist, sehe ich es nicht. Ich baue mit Visual Studio 2008 auf einem Windows 7 SP1 OS.C#: Objekt ist sowohl null als auch nicht null
Das Objekt opcDriver wurde erfolgreich erstellt und an diese Methode übergeben. Wenn ich durchtrete, wird die Anweisung "int a = 1" ausgeführt. Dann wird im nächsten if-Block die Ausführung zur "throw ex" -Anweisung geführt, ohne die darüber liegende Zeile auszuführen, die das ex-Objekt erzeugt. Also, ex ist null und das Werfen von null gibt mir eine Zugriffsverletzungsausnahme.
Haben Sie eine Idee, was hier passieren könnte?
Ein paar Mitglieder der OpcDriver-Klasse sind Instanzen von Klassen aus einer 15 Jahre alten ungarantierten, nicht unterstützten Beispielbibliothek, die COM als Schnittstelle zu einem OPC-Programm (OLE for Process Control) verwendet. Das einzige, was mir einfällt, ist, dass irgendwo in den Tiefen dieser Bibliothek etwas Groteskes passiert, aber ich kann mir nicht vorstellen, wie das möglich sein kann.
Vielen Dank.
wo ist 'OpcDriver' - überlädt es irgendwelche Bediener? –
Ich vermute, Sie haben versucht, die saubere, Neustart VS, saubere Build-Routine? Außerdem würde ich einen Haltepunkt setzen und sehen, was das Überwachungsfenster "opcDriver" denkt. –
Haben Sie die richtige .pdb und den Quellcode? –