Quote: " In order to do this, the system has to create a huge array with each byte that is going to be written to file. This worked fantastically until I tried to use it on a file that was 10kb. Then I got an error I never saw before. Paraphrasing "There is not enough memory to create an array of this size." "
Arrays are dynamic allocations held in general purpose memory in DBpro, so you've most likely hit upon the 32bit limitations without really noticing it. One common issue can occur with multiple dimension arrays.
imagine a 1D array of 32 bit integers, that's (2^32)/4 (unsigned) index range for a flat contiguous allocation of memory.
but what if we wanted a 2D integer array ? It doesn't take long before the combined 2D ordinates will overflow the 32bit range. ($10000*$10000) Since the data underneath is still just one contiguous chunk.
Types & Strings further compound things, since each is separate allocation.