|
>Date: Thu, 28 Sep 2000 19:41:40 -0700 >From: "Eric N. Wilson" <doulos1@home.com> > >> Not very close either. A pointer could be turned into a string, but the >> AS/400 isn't going to let you turn a string back into a valid pointer; so it >> wouldn't be able to be used. > >Ah I beg to differ with you. Try this, declare a data structure and >make it have one sub field of a pointer data type. Then make a second >data structure just like the first. Then assign the address of the >pointer in the first data structure to your favorite variable. Then >eval DS2 = DS1 and low and behold the pointer in DS2 is valid :-) Eric, what you are doing is copying one data structure containing a pointer to another data structure containing a pointer. This is not the same as turning a string containing the hex value of a pointer back into a pointer. An AS/400 pointer is more than just the 16 bytes holding its hex value - its "pointerness" is also dependent on a bit being set "somewhere else". Try this: D charfld S 16a D ds DS D pointer * C eval pointer = %addr(x) C eval charfld = ds C eval ds = charfld Now test "pointer". It won't be valid. (Actually, there is no guarantee that this will fail, but there is also no guarantee that it will work. It may depend on the alignment of charfld, and on the way RPG chooses to copy the data on the evals.) Barbara Morris +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
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.