Returns, as an INT64 value, the allocated byte size of the memory region associated with the specified MEMPTR variable.
The following example allocates three memory regions-for a BITMAPINFO structure, a BITMAPINFOHEADER structure, and an RGB color array. It then displays the allocation size for each region. These structures describe a device-independent bitmap for Windows dynamic link library (DLL) routines. For more information on these bitmap structures, see your Windows Software Development Kit documentation.
r-getsiz.p
DEFINE VARIABLE bitmapinfo AS MEMPTR NO-UNDO. DEFINE VARIABLE bitmapinfoheader AS MEMPTR NO-UNDO. DEFINE VARIABLE RGBcolors AS MEMPTR NO-UNDO. SET-SIZE(bitmapinfo) = 4 /* Pointer to bitmapinfoheader */ + 4. /* Pointer to RGBcolors */ SET-SIZE(bitmapinfoheader) = 4 /* biSize */ + 4 /* biWidth */ + 4 /* biHeight */ + 2 /* biPlanes */ + 2 /* biBitCount */ + 4 /* biCompression */ + 4 /* biSizeImage */ + 4 /* biXpelsPerMeter */ + 4 /* biYPelsPerMeter */ + 4 /* biClrUsed */ + 4 /* biClrImportant */ . SET-SIZE(RGBcolors) = 16 * 4. /* Array for 16 RGB color values */ DISPLAY GET-SIZE(bitmapinfo) LABEL "Bitmap info structure size" COLON 30 SKIP GET-SIZE(bitmapinfoheader) LABEL "Bitmap header structure size" COLON 30 SKIP GET-SIZE(RGBcolors) LABEL "Bitmap colors array size" COLON 30 WITH SIDE-LABELS. |