Back in Delphi 4 I was working on a huge game. I made good use of .BPL files (similar to DLL's) that I could load and enabled me to replace the game code while the game was running - but unlike a DLL, the BPL code had full access to object structures. In fact, I was able to change the function of existing objects that were declared in a BPL that I was replacing.
I used this in a multiplayer RPG to facilitate upgrading the code without stopping the game. It actually worked quite well. I could get nonstop uptimes of weeks without fail, even while doing daily upgrades to the code. I'd place a new version of the BPL - for instance the spells module - into a special location, log into the game as my superuser character, cast a special spell and the game would pause, unload the current spell module, move the new one into place and load it up. Unlike a traditional MUD, I could actually create entirely new objects and load them into the game without kicking everyone out.
Is there a similar method with Lazarus / FPC?
Thanks,
Tony
