|
Scott Klement wrote:
RcvDtaQ(DtaqName : DtaqLib : DtaqLen : DATAQDS : -1);Please make sure that DtaqLen is the same length as DATAQDS. If possible, make the line before the call to RcvDtaq() look like this: DtaqLen = %size(DATAQDS) And make sure that line of code is called prior to the API, each time the API is called. If DtaqLen contains a higher value that the size of DATAQDS, you'll corrupt memory (which is why I suspect the beginning of your data queue name is being wiped out.)
The third parameter to this API is an output parameter, set by the API to say how big a message it returned; the API assumes the receiver parameter is big enough to receiver any message. So if you only pass 5 parameters, you have to ensure that the receiver parameter is at least as long as the maximum size of a message on the data queue. (This is the size specified when the data queue was created.) There is another parameter, I think parameter 12, where you can specify the length of your receiver parameter.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.