It isn't a bug with DBP I don't think. This source code works fine:
a as DWORD
a = RGB(50,100,150)
do
print RGBR(a)
print RGBG(a)
print RGBB(a)
sync
loop
as does with my routine:
a as DWORD
a=MakeDWORD(50,100,150,255,1)
do
print RGBR(a)
print RGBG(a)
print RGBB(a)
sync
loop
function MakeDWORD(First,Second,Third,Fourth,Mem)
Make Memblock Mem,4
Write Memblock Byte Mem,0,First
Write Memblock Byte Mem,1,Second
Write Memblock Byte Mem,2,Third
Write Memblock Byte Mem,3,Fourth
result as DWORD
Result = Memblock DWORD(Mem,0)
Delete Memblock Mem
endfunction Result