Yep, that's what I'm saying. The concept is called "double buffering" which means that you essentially prepare your "scene" in memory and then when all drawing is completed you "flip" it onto the actual canvas or front buffer. This concept is especially effective when dealing with video memory because "flipping" can be done extremely fast.
The method using TBitmaps is obviously much slower because it works in system memory but it will still prevent flickering quite well.