передача строки в dll

 
Передаю строку в dll не указываю, что строка передается по ссылке, но все равно dll меняет исходную строку. В mql4 что строки всегда передаются по ссылке и потому знак & (ампирсанта) игнорируется и не имеент значения стоит он или нет, строка всегда передайоться по ссылке ?
 
Если нужно только передать MQL строку в DLL, ссылка не используется. Здесь вырезки из работающего советника.
Начало одной из С++ функций из DLL:
DllExport int WINAPI DllSetTOHLCV (char* szSymbol, int nTime, int nOpen, int nHigh, int nLow, int nClose, int nVolume)
{
    BString str = szSymbol;
    str.MakeLower();
Советник:
#import "FxExt.dll"
    int DllIdle      ();
    int DllSetTOHLCV (string szSymbol, int nTime, int nOpen, int nHigh, int nLow, int nClose, int nVolume);
#import
 
даа. большое спасибо за пример, а нельзя все таки уточнить как передается строка ? потому, что вот смотрите на пример, это конечно спасибо, а вот то что я спросил, всегда строка передается по ссылке или нет, ели если в длл указано, что параметр будет принят по ссылке, то значит в скрипте можно не указывать?
 

если dll Ваша, то используйте const чтобы исходные значения не менялись.


строка из mql всегда будет передана по ссылке

 
GarF1eld >>:

если dll Ваша, то используйте const чтобы исходные значения не менялись.


строка из mql всегда будет передана по ссылке

большое спасибо. Коротко и то что нужно. Спасибо.

Причина обращения: