Neat stuff paul, I take it the xe Engine treats you nicely then? The only problem in no auto detection YET is that a while back I wrote a separate unit that identifies the file type based on the first few bytes ord numbers. I just need to find a nice way of implementing it. I'm thinking I could just commission a PM_FileTypes unit and make something like

Code:
var
   ft: ANSIString;

begin
   ft := GetFileType('SomeRandomFile');
   if ft = 'PNG' then // and so on...
I've just had so much stuff to do recently I've barely had any time to implement it All the stuff mentioned above is stuff I have already played with, although there are some problems in Net as much of the code has never been tried by me, and DataFiles runs so fast on the CPU it thrashes the hard drive cache and thus gets killed for memory violation; due to accessing a file while it is being updated by the OS, so timings need to be updated as well as some synchronization procedures. But good progress all round.