I have a simple derivative of streams that encrypts a stream by overriding the read and write methods. Functions fine - except with the SaveToStream method on bitmaps. The bitmap is at least partly read correctly because header and palette info okay but the DIB is screwed up. Try as might looking through the read/writeDIB code it all ultimately seems to call the read/write method. I dont suppose anyone else has delved into how bitmaps and read/write in Delphi - it looks like a backdoor to ancestor method being called somewhere. ---------------------------------------------------------- Phil Scadden, Institute of Geological and Nuclear Sciences 41 Bell Rd South, PO Box 30368, Lower Hutt, New Zealand Ph +64 4 5704821, fax +64 4 5704603 --------------------------------------------------------------------------- New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] Website: http://www.delphi.org.nz To UnSub, send email to: [EMAIL PROTECTED] with body of "unsubscribe delphi"