Frage

Ich habe ein seltsames Problem, mit dem Jacob von zwei folglich identische Threads gestartet wurde.Ich habe eine Utility-Klasse, die ein statisches ActiveXObject-Feld zum Versand verschiedener Anfragen an den WMI verwendet.Der erste Thread funktioniert gut.Wenn der zweite Thread gestartet wird, erhalte ich folgende Ausnahme:

generasacodicetagpre.

Der Thread wird mit einem Mausklick von einer GUI gestartet, der Fehler ist jedoch manuell reproduzierbar:

generasacodicetagpre.

Es scheint mir, dass einige zugewiesene Ressourcen nicht korrekt freigegeben werden, wenn der Thread, der sie benutzt, den Thread beendet.Irgendwelche Hinweise

update: jacob Version 1.14.3

War es hilfreich?

Lösung

Ich habe nicht die neueste Version von Jacob mit seinem neuen Threading-Modell verwendet, aber ältere Versionen waren definitiv nicht faden sicher.Ab Version 1.7> haben sie das Einfädelungsmodell verbessert, um die zugrunde liegenden COM-Komponenten besser zu reflektieren, aber Sie müssen feststellen, ob die Komponente MTA oder STA ist, und dann JACOB-Klassen angemessen initialisieren.Siehe den Jacob-Dokumentation , wie Sie Ihre Anwendung richtig an die Anforderungen anpassen können.

Andere Tipps

Ich habe begonnen, ein ähnliches Problem zu erleben (Erste Ausführung OK, zweiter fehlgeschlagener Gegenstand, wenn ich nicht mitzunehmen kann), wenn ich angefangen habe, denselben Thread-Namen auf mehrere Threads einzustellen.Hinzufügen der sequentiellen Nummer als Suffix zum Thread-Namen, der das Problem für mich behoben hat.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top