Hi,
There is no problem with the engine objects. The array is a local variable only valid while the function is used. You need to allocate the array to be able to use it out of the function.

Code:
TEXT **array = sys_malloc ( sizeof(TEXT*) * 2 );