|
Hi Jevgeni
Thank you for your reply , much appreciated.
However I am not sure what you mean.
I am happy to be corrected if I am wrong.
From my code you can see.
I only Create and Populate the Userspace for the #FIRST record.
/* On First pass get the API data */
memmove(Funct,p_iFunc, strlen(p_iFunc));
if (!memcmp(Funct, "#FIRST", 6)) {
RtvApiDta();
};
On the #NEXT calls I just get the pointer to the Userspace.
if (!memcmp(Funct, "#NEXT", 5)) {
/*! call RetrievePointerToUserSpace - Retrieve Pointer to User Space */
errorCode.BytesProvided = 0;
RetrievePointerToUserSpace("RTVFDUSPC QTEMP ",
&pBuffer,
&errorCode);
}
Also I Delete the User space when there are no more fields to get.
Odata->EndDta = 0;
/* End ofthe Fields */
if ((EndFlds EQ 1) && (FldIdx EQ p_QDFFRINF->WDFFFLD -1) ) {
Odata->EndDta = 1;
*GotIt = 1;
DeleteUserSpace("RTVFDUSPC QTEMP ",
&errorCode);
};
So I believe I am doing the code correctly exactly how you describe it
should be done.
Regards
Frank
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 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.