Попробуйте, вместо массива передавать в функцию и соответственно получать от функции, указатель на массив.И еще, может это не имеет значение, но все же, тип String в Дельфи - это скрытая динамическая переменная, т.е. под нее менеджером памяти дельфи происходит выделение памяти, скрытое от программиста. Попробуйте вместо String использовать PChar, и уже память для него выделять самостоятельно.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)