передача строки в dll
Передаю строку в dll не указываю, что строка передается по ссылке, но все равно dll меняет исходную строку. В mql4 что строки всегда передаются по ссылке и потому знак & (ампирсанта) игнорируется и не имеент значения стоит он или нет, строка всегда передайоться по ссылке ?
- Critical error
- Помогите подключит DLL
- передача тикера символа в DLL на С++ и вызов в МТ4 обратно
Если нужно только передать 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 всегда будет передана по ссылке