Difference between revisions of "MQOPEN()"

From Recital Documentation Wiki
Jump to: navigation, search
Line 37: Line 37:
 
mqdes=mqopen("/myqueue")
 
mqdes=mqopen("/myqueue")
 
if (mqdes < 0)
 
if (mqdes < 0)
  messagebox(strerror()+",errno="+alltrim(str(error())))
+
    messagebox(strerror()+",errno="+alltrim(str(error())))
  return
+
    return
 
endif
 
endif
 
do while (mqcurmsgs(mqdes) > 0)
 
do while (mqcurmsgs(mqdes) > 0)
  mstr=mqreceive(mqdes)
+
    mstr=mqreceive(mqdes)
  if (empty(mstr))
+
    if (empty(mstr))
      messagebox(strerror()+",errno="+alltrim(str(error())))
+
      messagebox(strerror()+",errno="+alltrim(str(error())))
      return
+
      return
  endif
+
    endif
  messagebox(mstr)
+
    messagebox(mstr)
 
end do
 
end do
 
mqclose(mqdes)
 
mqclose(mqdes)

Revision as of 10:57, 19 November 2009

Template:YLM to do

Purpose

Open a pointer to a message queue


Syntax

MQOPEN(<expC> [,<expN>])


See Also

MQCLOSE(), MQCREATE(), MQCURMSGS(), MQRECEIVE(), MQSEND()


Description

The MQOPEN() function opens an existing message queue. It returns a numeric pointer when the queue is opened successfully, or a -1 if unsuccessful. The <expC> is the name of the queue to open. Since the pointer is required to identify an open queue to other messaging functions, always assign the return value to a memory variable. The optional <expN> determines the queue access mode:


<expN> Access Mode
Unspecified Read only access
0 Read only access
1 Write only access
2 Read/Write access


The MQCLOSE() function is used to close a queue which has been opened with MQOPEN().


Example

mqdes=mqopen("/myqueue")
if (mqdes < 0)
    messagebox(strerror()+",errno="+alltrim(str(error())))
    return
endif
do while (mqcurmsgs(mqdes) > 0)
    mstr=mqreceive(mqdes)
    if (empty(mstr))
       messagebox(strerror()+",errno="+alltrim(str(error())))
       return
    endif
    messagebox(mstr)
end do
mqclose(mqdes)


Products

Recital, Recital Server