SilverWarior, I have read ericlangedijk's post a few times, just to be sure. he does not seem to want to implement multithreading. which is what, I assume, you are talking about. perhaps it is intended to be implemented later with the structured approach that he is talking about. but I think what he wants here is to basically separate the rendering code from the game code.
What you do is that both TGame and TRenderner have acces to same data (gamemap, units position, etc).
sorry, but this is just a bad advice. why does TRenderer need to know about the entire application's data set? it only needs to know what it has to render. a rectangle with this image at these coordinates, that's it.
ericlangedijk, I suppose the smart/common way to do what you want would be to just put all the rendering code in the TRenderer with a few public methods like TRenderer.RenderThisRectangleWithThisImageAtTheseC oordinates(...), or something like that. and in the TGame you will just need to call this method instead of having the rendering code right there. once that is done you can can change your rendering back end to whatever you want, if necessary, direct3d, opengl etc.