FIX: Mogelijk wordt een "het geheugen niet kan worden 'gelezen' ' foutbericht of een COM +-Interop type fout door incompatibel uitzondering doet zich voor bij het uitvoeren van .NET Framework-toepassingen die gebruikmaken van de AS / 400-gegevens in de wachtrij ActiveX-besturingselement


Symptomen


Wanneer u uitvoeren met Microsoft .NET Framework-toepassingen die gebruikmaken van de AS / 400-gegevens in de wachtrij ActiveX-besturingselement (Mseigdq.dll) om te lezen van en schrijven naar IBM iSeries (AS / 400) gegevens wachtrijen, treden een of meer van de volgende problemen:
  • U ontvangt application foutberichten die vergelijkbaar met de volgende zijn:
    ApplicationName -toepassingsfout


    De instructie op 'adres' verwijst naar geheugen op '0x00000000'. Het geheugen kan niet worden 'gelezen'.



    Klik op OK om het programma te beëindigen

    Klik op Annuleren om het programma voor foutopsporing
  • Een uitzondering van Microsoft COM + Interop type probleem doet zich voor bij het verwerken van een record die wordt geretourneerd als de toepassing de methode DataQueue.GetQueueItem wordt aangeroepen. Deze uitzondering treedt alleen op als de toepassing gebruikmaakt van beheerde code. Deze uitzondering treedt niet op als de toepassing gebruikmaakt van Microsoft Visual Basic 6. Mogelijk is het foutbericht dat wordt weergegeven met de volgende strekking:
    System.Runtype.InteropServices.SafeArrayTypeMismatchException

Oorzaak


U ontvangt een 'het geheugen niet kan worden 'gelezen' ' foutbericht wordt weergegeven omdat de AS / 400 gegevens wachtrij ActiveX-besturingselement probeert te lezen van een ongeldige geheugenlocatie.

De uitzondering COM + Interop type probleem doet zich voor omdat de AS / 400 gegevens wachtrij ActiveX-besturingselement als resultaat gegeven gegevens als een veilige matrix van VT_UI1 gegevens. Deze gegevens zijn niet compatibel automatisering. Dit zorgt ervoor dat de COM + Interop laag om terug te keren de uitzondering type probleem omdat de laag COM Interop weet niet hoe de VT_UI1 gegevens te marshallen.

Oplossing


Een ondersteunde hotfix is beschikbaar bij Microsoft. Deze hotfix is echter alleen bedoeld voor het probleem dat wordt beschreven in dit artikel. Voer deze hotfix alleen uit op systemen waarop dit specifieke probleem zich voordoet. Deze hotfix moet wellicht extra worden getest. Als u geen ernstige hinder ondervindt van dit probleem, is het daarom raadzaam te wachten op de volgende update waarin deze hotfix is opgenomen.

Als de hotfix gedownload kan worden, is er een sectie 'Hotfix downloaden' aan het begin van dit Knowledge Base-artikel. Als deze sectie niet wordt weergegeven, neem dan contact op met Microsoft Customer Service and Support om de hotfix te verkrijgen.

Opmerking Als er andere problemen optreden of als probleemoplossing is vereist, moet u wellicht een apart serviceverzoek indienen. De normale ondersteuningskosten gelden voor extra ondersteuningsvragen en problemen die niet in aanmerking komen voor deze specifieke hotfix. Voor een volledige lijst met telefoonnummers van Microsoft Customer Service and Support of een afzonderlijk serviceverzoek maken, gaat u naar de volgende Microsoft-website:Opmerking Het formulier 'Hotfix kan worden gedownload' geeft de talen weer waarvoor de hotfix beschikbaar is. Als uw taal niet wordt weergegeven, is dit omdat een hotfix niet voor die taal beschikbaar is.

De Engelse versie van deze hotfix heeft de bestandskenmerken (of recentere bestandskenmerken) die in de volgende tabel worden weergegeven. De datums en tijden voor deze bestanden worden weergegeven in Coordinated Universal Time (UTC). Wanneer u de bestandsinformatie weergeeft, wordt deze naar lokale tijd geconverteerd. Gebruik het tabblad tijdzone in het onderdeel datum en tijd in het Configuratiescherm om het verschil tussen UTC en lokale tijd.
   Date         Time   Version     Size     File name
----------------------------------------------------
29-Sep-2005 19:39 6.0.1988.0 121,344 Mseigdq.dll
Opmerking Vanwege bestandsafhankelijkheden kan de meest recente oplossing waarin deze bestanden ook extra bestanden bevatten.

Status


Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.

Meer informatie


Deze hotfix werkt de AS / 400-gegevens in de wachtrij ActiveX-besturingselement, het probleem dat ervoor zorgt dat de toepassingsfout op te lossen berichten als ongeldig geheugen wordt geopend.

Deze hotfix wordt geen soelaas waarin een uitzondering voor COM + Interop type probleem zich voordoet. Echter, u probleem kunt oplossen met behulp van .NET Framework 2.0 op een computer waarop een .NET Framework-toepassing de roept / 400-gegevens in de wachtrij ActiveX-besturingselement. .NET Framework 2.0 kan goed marshallen matrices zoals gegevenstypen VT_UI1 byte zonder teken. De uitzondering type probleem treedt niet op.