Update: Sie erhalten eine "Speicher nicht"lesbar"" Fehlermeldung oder einer COM +-Interop Typenkonfliktfehler Ausnahme tritt auf, wenn.NET Framework-Anwendung, mit dem der ausführen / 400 Daten Queue ActiveX-Steuerelement


Problembeschreibung


Beim Ausführen von Microsoft.NET Framework-Anwendung, die mit der / 400-Daten in die Warteschlange ActiveX-Steuerelement (Mseigdq.dll) von lesen und Schreiben in IBM iSeries (AS / 400) datenwarteschlangen können Sie eine oder mehrere der folgenden Probleme auftreten:
  • Fehlermeldungen Anwendung, die der folgenden ähnelt:
    ApplicationName -Anwendungsfehler


    Die Anweisung in "Speicheradresse" verweist auf Speicher in "0 x 00000000". Der Speicher konnte nicht "gelesen werden".



    Klicken Sie auf OK, um das Programm zu beenden

    Klicken Sie auf Abbrechen, um das Programm zu debuggen.
  • Eine Microsoft COM +-Interop Typ Konflikt Ausnahme tritt beim Verarbeiten eines Datensatzes, das zurückgegeben wird, wenn die Anwendung die DataQueue.GetQueueItem -Methode aufruft. Diese Ausnahme tritt nur bei die Anwendung verwalteten Code verwendet. Diese Ausnahme tritt nicht auf, wenn die Anwendung Microsoft Visual Basic 6 verwendet. Die Fehlermeldung, die Sie empfangen möglicherweise ähnlich der folgenden:
    System.Runtype.InteropServices.SafeArrayTypeMismatchException

Ursache


Sie erhalten eine "Speicher nicht"lesbar"" Fehlermeldung, da AS / 400 Daten Warteschlange ActiveX-Steuerelement versucht, einen ungültigen Speicherbereich zu lesen.

COM +-Interop Type Mismatch Ausnahme tritt auf, weil die AS / 400 Daten Warteschlange ActiveX-Steuerelement gibt Daten als sicheres Array VT_UI1 Daten. Diese Daten sind nicht automatisierungskompatibel. Dieses Verhalten führt die COM +-Interop-Ebene Typ Konflikt Ausnahme zurück, da die COM-Interop-Schicht VT_UI1 Daten Marshallen nicht unterstützt.

Problemlösung


Ein unterstützter Hotfix ist von Microsoft erhältlich. Dieser Hotfix soll nur der Behebung des Problems dienen, das in diesem Artikel beschrieben wird. Verwenden Sie diesen Hotfix nur auf Systemen, bei denen dieses spezielle Problem auftritt. Dieser Hotfix sollte weiteren Tests unterzogen werden. Wenn Ihr System durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfehlen wir sie, auf das nächste Softwareupdate zu warten, das diesen Hotfix enthält.

Wenn der Hotfix zum Download zur Verfügung steht, gibt es einen Abschnitt "Hotfixdownload available" ("Hotfixdownload verfügbar"), am oberen Rand dieses Knowledge Base-Artikel. Wenn dieser Abschnitt nicht angezeigt wird, wenden Sie sich an den Microsoft Customer Service and Support, um den Hotfix zu erhalten.

Hinweis Falls weitere Probleme auftreten oder andere Schritte zur Problembehandlung erforderlich sind, müssen Sie möglicherweise eine separate Serviceanfrage erstellen. Die normalen Supportkosten gelten für zusätzliche Supportfragen und Probleme, die nicht diesem speziellen Hotfix zugeordnet werden können. Eine vollständige Liste der Telefonnummern von Microsoft Customer Service and Support oder eine separate Serviceanfrage erstellen finden Sie auf der folgenden Microsoft-Website:Hinweis Das Formular "Hotfix download available" ("Hotfixdownload verfügbar") zeigt die Sprachen an, für die der Hotfix verfügbar ist. Wenn Ihre Sprache nicht angezeigt wird, ist dieser Hotfix für Ihre Sprache nicht verfügbar.

Die englische Version dieses Hotfixes weist Dateiattribute (oder spätere Attribute), die in der folgenden Tabelle aufgelistet sind. Die Datums- und Uhrzeitangaben für diese Dateien sind in Coordinated Universal Time (UTC) aufgelistet. Wenn Sie die Dateiinformationen anzeigen, werden sie in die lokale Zeit konvertiert. Den Unterschied zwischen UTC- und Ortszeit können Sie in der Systemsteuerung auf der Registerkarte Zeitzone unter "Datum und Uhrzeit" ermitteln.
   Date         Time   Version     Size     File name
----------------------------------------------------
29-Sep-2005 19:39 6.0.1988.0 121,344 Mseigdq.dll
Hinweis Aufgrund der dateiabhängigkeiten enthalten das neueste Update, das diese Dateien enthält auch zusätzliche Dateien.

Status


Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.

Weitere Informationen


Dieser Hotfix aktualisiert die AS / 400-Daten Queue ActiveX-Steuerelement, das Problem zu beheben, die Anwendungsfehler verursacht Nachrichten, wenn auf ungültiger Speicher zugegriffen wird.

Dieser Hotfix behebt nicht das Problem mit eine COM +-Interop Typ Konflikt Ausnahme auftritt. Jedoch beheben Problem mit.NET Framework 2.0 auf alle Computer mit einer.NET Framework-Anwendung, die das ruft / 400 Daten Queue ActiveX-Steuerelement. .NET Framework 2.0 können ordnungsgemäß Marshallen von Arrays wie VT_UI1 Datentypen Byte ohne Vorzeichen. Typ Konflikt Ausnahme tritt daher nicht.