The PRESERVE keywords has the side effects that the array is duplicated, resized and restored. So for a short period of time, yes you have your array loaded twice in memory. Have you thought of using another structure like a collection or a disconnected recordset?
>>A UDT is a User Defined Type. You said in your original question that your array is declared as of a UDT. How big is this UDT?
>>
>>
>Here's the description of the type:
>
>Public Type Alignment
> StartIndice As String
> StopIndice As String
> Sequence As String
> LeftFlankingSequence As String
> RightFlankingSequence As String
>End Type
>
>The start and stop indice are maximum 9 characters long. The left and right flanking sequences are exactly 500 characters long each. The sequence will range from 20 to 4500 characters long.
>
>Is it possible that the PRESERVE keyword, before creating a second array in memory, verifies that this array will fit in memory? Am I right in supposing that two arrays exist in memory at the same time when using PRESERVE?
>
>Thanks again, Stephane.
Éric Moreau, MCPD, Visual Developer - Visual Basic MVP
Conseiller Principal / Senior Consultant
Moer inc.
http://www.emoreau.com