|
I've had some experience with pointers, though mainly in dynamically allocating arrays. I'm now returning a pointer from a procedure, and I'm running into something weird. To give you an idea of what I'm doing: // Key Data Structure D ptrKeyDS S * D KeyDS DS Based( ptrKeyDS ) D KeyProjID Like( CBProjID ) // 7p 0 D KeyOrder Like( ODNum ) // 7p 0 // Retrieve the key fields by Order Number D rtvKeyByOrder PR * // Retrieve the key fields by Project ID D rtvKeyByProj PR * If Sort = ByOrder; ptrKeyDS = rtvKeyByOrder(); ElseIf Sort = ByProj; PtrKeyDS = rtvKeyByProj(); EndIf; // If the pointer isn't null, a record was found. If ptrKeyDS <> *Null; Chain KeyDS.KeyProjID CSGPPrjMst; ... So what I'm doing is calling one of two subprocedures to perform a read for me (more than just a simple read). I don't really show it in this example, but the calling procedure and the two subprocedures have a data structure defined from a global template using a LikeDS. Now, onto my issue. I can run this program, and it runs fine, which is great. But, I need to debug this calling procedure, and when I do, the Chain listed above fails. When I view the value of KeyDS.KeyProjID... it's junk. So, is there a reason why when I'm in debug that the value of that field differs than when run it interactively not in debug? Has anyone experienced this? Kurt Anderson Application Developer Highsmith Inc. W5527 State Road 106, P.O. Box 800 Fort Atkinson, WI 53538-0800 TEL (920) 563-9571 FAX (920) 563-7395 EMAIL kjanderson@xxxxxxxxxxxxx
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.