Microsoft KB Archive/221671

= FIX: OLE Error "Member Not Found" Using MSMQ =

Article ID: 221671

Article Last Modified on 10/16/2002

-

APPLIES TO


 * Microsoft Visual FoxPro 5.0 Standard Edition
 * Microsoft Visual FoxPro 5.0a
 * Microsoft Visual FoxPro 6.0 Professional Edition

-



This article was previously published under Q221671



SYMPTOMS
You execute code that performs automation using Microsoft Message Queue (MSMQ) as the server. When you attempt to assign an object reference to the AdminQueueInfo property of the message object, you see the following error:

Program Error

OLE error code 0x80020003: Member not found.

This error might also occur assigning object values to automation server properties with servers other than MSMQ.



STATUS
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

This bug was corrected in Visual Studio 6.0 Service Pack 3.

For more information about Visual Studio service packs, please see the following articles in the Microsoft Knowledge Base:

194022 INFO: Visual Studio 6.0 Service Packs, What, Where, Why

194295 HOWTO: Tell That Visual Studio 6.0 Service Packs Are Installed



Steps to Reproduce Behavior
  Run the following code from a program (.PRG) file. You must run this on a machine that has MSMQ installed.
 * 1) DEFINE MQ_RECEIVE_ACCESS  1
 * 2) DEFINE MQ_SEND_ACCESS 2
 * 3) DEFINE MQ_PEEK_ACCESS 32
 * 4) DEFINE MQ_DENY_NONE   0
 * 5) DEFINE MQMSG_ACKNOWLEDGMENT_FULL_RECEIVE  14
 * 6) DEFINE MQMSG_ACKNOWLEDGMENT_NONE  0
 * 7) DEFINE MQMSG_CLASS_ACK_RECEIVE 16384
 * 8) DEFINE MQMSG_CLASS_NACK_RECEIVE_TIMEOUT   49154

LOCAL oQuery,oQueue,oMsg

oQuery = CREATE("msmq.msmqquery") oQueue = oQuery.LookupQueue(,,"Administration Queue") oQueue.RESET oAdminQueue = oQueue.NEXT IF ISNULL(oAdminQueue) oAdminQueue= CREATE("msmq.msmqqueueinfo") oAdminQueue.pathname = ".\AdminQueue" oAdminQueue.LABEL = "Administration Queue" oAdminQueue.CREATE ENDIF
 * Create/locate administration queue

oQueue2 = oQuery.LookupQueue(,,"Destination Queue") oQueue2.RESET oDestQueue = oQueue2.NEXT IF ISNULL(oDestQueue ) oDestQueue = CREATE("msmq.msmqqueueinfo") oDestQueue .pathname = ".\DestQueue" oDestQueue .LABEL = "Destination Queue" oDestQueue .CREATE ENDIF
 * Create/locate destination queue
 * oQuery = create("msmq.msmqquery")

oQueue3 = oDestQueue.OPEN(MQ_SEND_ACCESS, MQ_DENY_NONE) IF !oQueue3.IsOpen && message queue not open RETURN ENDIF oMsg = CREATE("msmq.msmqmessage") oMsg.LABEL = "Test Message" oMsg.Body = "This message tests acknowledgment messages." oMsg.Ack = MQMSG_ACKNOWLEDGMENT_FULL_RECEIVE oMsg.AdminQueueInfo = oAdminQueue oMsg.SEND(oQueue3) =MESSAGEBOX("The message was sent.") oQueue3.CLOSE RETURN  The error message listed in Symptoms section appears.
 * Open the destination queue and send the message.

NOTE: Microsoft Message Queue (MSMQ) installs as part of the Windows NT 4.0 Option Pack.

(c) Microsoft Corporation 1999, All Rights Reserved. Contributions by Jim Saunders, Microsoft Corporation.

Keywords: kbbug kbfix kbautomation kbvs600sp3fix KB221671

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.