Yip, I meant the directory structure. My plan is to store it as a tree, at the end of the file. Also, I'm not sure if you noticed, I set a limit to the maximum size of a disk. It's 4 gigabytes (65536 bytes/block * 65536 blocks). 4 gigs is enough for now, I don't plan on making such big archives yet, but who knows?

I haven't checked your demo yet, will do soon. Why do you use a TStream-descendant class, btw? I saw it multiple times in other projects, couldn't understand it at all.