Hello all, I have a very strange problem in my application that I was hoping someone else had encountered before (and has a fix for). During the startup phase my application an array is built to hold all the data definitions. Each element of the array is a record which represents a (dbase) table. The record holds a couple of string variables and an array of records holding index definitions and an array of records holding field definitions. The problem that we are having is that after adding some new tables we get an EOutOfMemory exception during the building of the array. At first I thought that this would have something to do with increasing the size of the dynamic array but it is than that. For each field definition you call a method of the database definition object which adds it to the database definition array. This is the line in question: DefineField('RecruitmentCentreAdvertisementID', 'AutoInc', 0, 0, 'Recruitment Centre Advertisement ID', False, '', '', '', False, True); When I step into this function all the string parameters turn into random bits of memory and at the point that I try and assign the first string to it's appropriate record I get the EOutOFMemory exception. It's almost like I have run out of strings??? I have tried increasing the stack size and unticking the "Huge Strings" so that all strings are declared as short strings to no effect. Any suggestions? TIA, Guy Brown TimeMaster Systems --------------------------------------------------------------------------- New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] Website: http://www.delphi.org.nz