× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Bryce,

If you have control over the data structure format you could add a size field to the front of the data structure initialized using %Size. Then the pointer would always address a size field using your own convention. Some of the API data structures are formatted this way to start with a size field.

Paul

Principal Programmer Analyst
IS Supply Chain/Replenishment

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Bryce Martin
Sent: Friday, November 19, 2010 1:45 PM
To: RPG programming on the IBM i / System i
Subject: RE: Trying to get the size of a Datastructure throughthe pointer? Possible? Not having good luck with it...

Yeah, I get all that. I was just running some wild ideas through my head
about code generalization that would only be possible if I could do
certain things. Just pie in the sky thinking... I'll move on to more
concrete stuff the rest of the day =^)


Thanks
Bryce Martin
Programmer/Analyst I
570-546-4777



"Dennis Lovelady" <iseries@xxxxxxxxxxxx>
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
11/19/2010 01:06 PM
Please respond to
RPG programming on the IBM i / System i <rpg400-l@xxxxxxxxxxxx>


To
"'RPG programming on the IBM i / System i'" <rpg400-l@xxxxxxxxxxxx>
cc

Subject
RE: Trying to get the size of a Datastructure through the pointer?
Possible? Not having good luck with it...






I you're passing a pointer, I believe OPDESC would only pass the
attributes
of the pointer. The issue is that a pointer addresses some location in
memory that contains arbitrary data. The type of that data, and how it
gets
processed, is a matter of interpretation. The pointer certainly doesn't
know (at least not in RPG). Heck, it might even be pointing to some
multi-use area whose "description" is based upon other conditions. It'd
be
unreasonable to expect the compiler to sort that out, let alone the
runtime.

Dennis Lovelady
http://www.linkedin.com/in/dennislovelady
--
Nothing is foolproof to a sufficiently talented fool.


I didn't think it was possible, but couldn't hurt asking :)


Thanks
Bryce Martin
Programmer/Analyst I
570-546-4777



Rory Hewitt <rory.hewitt@xxxxxxxxx>
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
11/19/2010 12:02 PM
Please respond to
RPG programming on the IBM i / System i <rpg400-l@xxxxxxxxxxxx>


To
"RPG programming on the IBM i / System i" <rpg400-l@xxxxxxxxxxxx>
cc

Subject
Re: Trying to get the size of a Datastructure through the pointer?
Possible? Not having good luck with it...






Bryce,

Quick answer is no, you can't.

It *may* be possible to determine how much memory the system allocated
for
a
basing pointer using an MI instruction, but that allocated memory would
always be in increments of 16 bytes (at a minimum), so even if you
could
get
that value, all you'd really be able to figure out is that your
data-structure is no larger than that size.

Rory

On Fri, Nov 19, 2010 at 8:17 AM, Bryce Martin <BMartin@xxxxxxxxxxxx>
wrote:

I won't go into a lot of details behind this, I have a very specific
question....

The following DataStructure
D MasterList_T...
D DS qualified based(TEMPLATE)
D Line...
D 3s 0
D Item...
D 15a
D Quantity...
D 11s 3
D LeadTimeDate...
D 8s 0

When I do a %size(MasterList_T) I get 37 bytes. When I do
%size(TEMPLATE)
I get 16. Makes sense, its how big the memory address is. No
problem.
My
question, is it possible to get the size of MasterList_T from its
basing
pointer? Is there a bif or something that will let me get it?

Thanks
Bryce Martin
Programmer/Analyst I
570-546-4777

--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



--- This message (including any attachments) is intended only for the
use of the individual or entity to which it is addressed and may
contain information that is non-public, proprietary, privileged,
confidential, and exempt from disclosure under applicable law. If you
are not the intended recipient, you are hereby notified that any use,
dissemination, distribution, or copying of this communication is
strictly prohibited. If you have received this communication in error,
please notify us and destroy this message immediately. ---
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.