A memblock is just a block of memory, because of this they have quite a lot of uses.
Have a look at the memblock commands in the dbpro help.
You can make meblocks using
MAKE MEMBLOCK FROM BITMAP
MAKE MEMBLOCK FROM IMAGE
MAKE MEMBLOCK FROM SOUND
MAKE MEMBLOCK FROM MESH
and you can turn memblocks back into the object or you can use MAKE MEMBLOCK to make a blank memblock and build the obejct up yourself
Unfortuntly the dbpro help doesn't tell you a lot about how the different objects data is stored in the memblock.
You can also read/write byte/word/dword/float values and save a memblock to a file and load a file into a memblock.
They are also pretty usefull for sending data in network games.
You can also get the memblock pointer with GET MEMBLOCK PTR() which can be used for a number of things incuding api calls. Like this code that gets the desktop size
desk_x as integer : desk_y as integer
desk_hwnd as integer
make memblock 1,16
load dll "user32.dll",1
desk_hwnd = call dll(1,"GetDesktopWindow")
call dll 1,"GetWindowRect",desk_hwnd,get memblock ptr(1)
delete dll 1
desk_x = memblock word(1,8) - memblock word(1,0)
desk_y = memblock word(1,12) - memblock word(1,4)
delete memblock 1
text 0,0,"Width :"+str$(desk_x)
text 0,15,"Height :"+str$(desk_y)
wait key