|
> From: Nicolay, Paul > > Has this always been like that ? > > DBuffer S 32767 Varying > DpFixed S * > DFixed S 32767 Based(pFixed) > > /free > pFixed = %Addr(Buffer) + 2; > Fixed = 'Hello'; > %Len(Buffer) = %Len(Buffer) + 5; > *INLR = *On; > Return; > /end-free > > Given this sample... I end up with Buffer containing 5 blanks... > and not my > 'Hello' ? Paul, the statement "Fixed = 'Hello'" uses the current length of Buffer to determine the number of bytes to move. You have to set the length ahead of time. The following will work. Instead of this: > Fixed = 'Hello'; > %Len(Buffer) = %Len(Buffer) + 5; Use this: > %Len(Buffer) = 5; > Fixed = 'Hello'; What I've done is initialize the length BEFORE performing the move. This tells the compiler to move five bytes. Hope this helps. Joe
This mailing list archive is Copyright 1997-2026 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.