Ошибки, баги, вопросы - страница 3010

 
Andrey Khatimlianskii:

Правой кнопкой — Открыть. При вызове этой команды лог сбрасывается на диск.

Не помогает.

 
fxsaber:

Не помогает.

Может, нужно подождать? Если там много Гб, может долго записывать.

 
fxsaber:

Не помогает.

Просмотр логов все логи показывает? Или нет?

Просмотр логов работает исключительно с диском

 
Slava:

Просмотр логов все логи показывает? Или нет?

Просмотр логов работает исключительно с диском


Этот совет помог.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

Andrey Khatimlianskii, 2021.05.06 21:42

Правой кнопкой — Открыть. При вызове этой команды лог сбрасывается на диск.


Перепутал каталоги, когда проверял. Извините за ложную тревогу.

 
Ошибка при выполнении:
void OnStart()
{
    char ch[];
    StringToCharArray( "ABCDEF", ch, 0, 3 );
    Print(GetLastError());
}

Результат:   4007

Ожидалось: 0

 
A100:
Ошибка при выполнении:

Результат:   4007

Ожидалось: 0

В справке не написано, что функция возвращает код ошибки. Лишь количество скопированных элементов. Наверное по этой причине не записывает ничего в код последней ошибки?

Если перед вызовом сбросить код?

 
Artyom Trishkin:

В справке не написано, что функция возвращает код ошибки. Лишь количество скопированных элементов. Наверное по этой причине не записывает ничего в код последней ошибки?

Если перед вызовом сбросить код?

Как не записывает, когда записывает - Результат: 4007

Зачем сбрасывать, если пример и так наипростейший. Но в любом случае добавление ResetLastError не влияет на полученный результат 

 
A100:

Как не записывает, когда записывает - Результат: 4007

Зачем сбрасывать, если пример и так наипростейший. Но в любом случае добавление ResetLastError не влияет на полученный результат 

А почему вы в параметре функции указываете три символа, когда в строке их восемь?

char ch[];
StringToCharArray( "ABCDEF", ch, 0, 8 );
Print(GetLastError()); //0

или -1 до конца строки, с терминальным нулём

char ch[];
StringToCharArray( "ABCDEF", ch, 0, -1 );
Print(GetLastError()); //0
 
Roman:

А почему вы в параметре функции указываете три символа, когда в строке их восемь?

или -1 до конца строки, с терминальным нулём

Потому что 4ый параметр

int     count=-1             // количество символов

Мне нужно скопировать первые 3 символа. Если бы мне нужно было скопировать всю строку целиком (7 символов включая завершающий 0), то я бы указал -1. А если частично нельзя скопировать, то тогда зачем этот параметр вообще нужен

 
A100:

Как не записывает, когда записывает - Результат: 4007

эээ похоже вы первый кому понадобилось копировать не всю строку ) иначе я не могу объяснить наличие ошибки

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