строковые массивы - библиотечные функции

 
Добрый день. Не могли-бы Вы подсказать, что я делаю неверно?
Вслед. конструкции - скрипт + две библ.функции, строковое значение в массиве редактируется некорректно.(первые символы заменяются на крякозяблики)
Почему, непонятно.

скрипт:
#import "lib2.ex4"
 string Speech_Symbol();
#import "lib.ex4"
 bool EditArr(string& arr_s[],string stroka);
#import
 
int start()
{string   sAl_arr[1];
 string str=Speech_Symbol();
 EditArr(sAl_arr,str);
                  Print("скрипт: sAl_arr[0][0]=/",sAl_arr[0],"/");
 return(0);
}



библиотека "lib.ex4":

#property library
bool EditArr(string& arr_s[],string stroka)
{
 arr_s[0]=stroka;
            Print("EditArr: arr_s[0][0]=/",arr_s[0],"/");
 return(true);
}



библиотека "lib2.ex4":

#property library
string Speech_Symbol()
{    string sSpeech="евра  доллар";
 return(sSpeech);
}



LOG:
15:05:02 scr EURUSD,H1: loaded successfully
15:05:02 lib2 EURUSD,H1: loaded successfully
15:05:02 lib EURUSD,H1: loaded successfully
15:05:02 lib EURUSD,H1: EditArr: arr_s[0][0]=/евра доллар/
15:05:02 scr EURUSD,H1: скрипт: sAl_arr[0][0]=/ЂЯ% доллар/
15:05:02 scr EURUSD,H1: removed

 
Снова, доброго всем дня. Не могу дождаться ответа и решил конкретизировать вопрос.
Дело в том, что если прописать функции из библиотек в скрипт(эксперт) все нормально редактируется,
а такая констукция присутствует во многих индикаторах и экспертах.
Хотелось бы знать: переписывать все или можно поправить библ.функции?
 
Снова, доброго всем дня. Не могу дождаться ответа и решил конкретизировать вопрос.
Дело в том, что если прописать функции из библиотек в скрипт(эксперт) все нормально редактируется,

Да, я тоже проверил с переносом в один файл.
С работой вызовов из библиотек может ответить только Слава.
К сожалению, мы в состоянии переезда и без интернета в офисе - отвечать некоторое время не сможем.

а такая констукция присутствует во многих индикаторах и экспертах.
Хотелось бы знать: переписывать все или можно поправить библ.функции?

Вообще-то лучше бы переписать, но свои ошибки мы тоже поправим.

Кстати, EX4 файлы - это не LIB библиотеки, а скорее COM объекты со всеми своими тормозами.
Лично я не рекомендую активно использовать импортируемые функции из библиотек.
Лучше использовать встраивание вспомогательных файлов через #include. В этом случае код напрямую встраивается в целевой модуль и все вызовы являются прямыми. А при вызове испортируемой функции приходится отдельно грузить чужой модуль, инициализировать его, а уж потом вызывать функцию. Естественно, загрузка и инициализация происходит один раз, но в любом случае расходы ресурсов достаточно серьезные.

Идея: "я помещу нужные функции в библиотеку, а потом буду ею всегда пользоваться" - не самый лучший выбор. Это на практике звучит так "я помещу вспомогательные функции в COM-объект и буду ими пользоваться". Гораздо чище и эффективнее использовать #include - максимальная скорость, легкость встраивания, меньше потенциальных проблем межмодульных вызовов.
 
Благодарю за подробный ответ, необходиость переписывания ясна.