I think I discovered the errors of my ways (Satan made me do it :) If I created my internal object on a diff thread things fell apart. I am now passing the record structure using a varArray Thanks Neil --------------------------------------------------------------------------- New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] Website: http://www.delphi.org.nz