Progress
Version 9
Product Update Bulletin
MEMPTR Data Type Changes
The following features have changed behavior in Version 9.1 from Version 9.0:
Copying MEMPTRs
In Version 9.0, when you copy one MEMPTR (M1) to another MEMPTR (M2), only the MEMPTR address is copied and both MEMPTRs point to the same memory location (L1).
In Version 9.1, when you copy one MEMPTR (M1) to another MEMPTR (M2), the memory location (L1), including the data, also gets copied. Therefore, MEMPTR M1 points to memory location L1, and MEMPTR M2 now points to memory location L2, which contains a copy of the data in L1.
This change has two ramifications for existing programs:
- In Version 9.0, you can change the data in the single memory location and both MEMPTRs will point to the changed data. In Version 9.1, you must change the data in both memory locations if you want both MEMPTRs to reflect the change.
- In Version 9.0, to clear memory after using the MEMPTRs, you could SET-SIZE = 0 on just one MEMPTR. In Version 9.1, you must SET–SIZE = 0 on both MEMPTRs to make sure that both memory locations are cleared.
MEMPTRs As Parameters
In Version 9.0, when you pass a MEMPTR to a remote procedure running on an AppServer, just the pointer value is passed.
In Version 9.1, when you pass a MEMPTR to a remote procedure running on an AppServer, the memory pointed to by the MEMPTR is transmitted to the remote procedure.
This change has two ramifications for existing programs:
- In Version 9.0, you can change the data in the single memory location and both MEMPTRs will correctly point to the changed data. In Version 9.1, you must change the data in both memory locations if you want both MEMPTRs to correctly reflect the change.
- In Version 9.0, to clear memory after using the MEMPTRs, you could SET–SIZE = 0 on just one MEMPTR. In Version 9.1, you must SET–SIZE = 0 on both the local and the remote MEMPTRs to make sure that both memory locations are cleared.
NOTE: The behavior of MEMPTRs passed as parameters within local procedures has not changed.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |