Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 FOR "пропускает" интерации Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
hero



Зарегистрирован: 27.05.2014
Сообщения: 11

СообщениеДобавлено: Пт Июн 06, 2014 3:17 pm Ответить с цитатой Вернуться к началу

Уже бьюсь несколько часов. Вот такой простой код

Код:
for( i = 0; i < BarCount; i++ )
{
   _TRACE("# 1 ="+NumToStr(i,1.0));
   _TRACE("# 2 ="+NumToStr(i,1.0));
   
   _TRACE("NAME: "+Name());
}


И вот такой интересный результат (картинка во вложении).
Либо трейс не успевает. Либо одно из двух.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Сб Июн 07, 2014 10:29 pm Ответить с цитатой Вернуться к началу

У меня нормально. Имей ввиду, что их там можно поразному отсортировать.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
hero



Зарегистрирован: 27.05.2014
Сообщения: 11

СообщениеДобавлено: Вс Июн 08, 2014 10:41 am Ответить с цитатой Вернуться к началу

Коллеги, попробуйте у себя запустить этот код.
Интересны результаты.

Тоже будут пропуски при выводе в окно лога?
Посмотреть профиль Отправить личное сообщение
fujis84



Зарегистрирован: 07.01.2014
Сообщения: 56

СообщениеДобавлено: Вс Июн 08, 2014 12:27 pm Ответить с цитатой Вернуться к началу

ерунда
Посмотреть профиль Отправить личное сообщение
hero



Зарегистрирован: 27.05.2014
Сообщения: 11

СообщениеДобавлено: Вс Июн 08, 2014 1:38 pm Ответить с цитатой Вернуться к началу

fujis84 писал(а):
ерунда


Я продолбался с отладкой "нормального" кода 3 часа.
Потом решил сделать вот такой простой код и проверить как работает
_trace

Результаты на скрине.
Часовой график с 2009 года по SI.

Это у меня что-то с системой (win8.1 x64) или дистрибутивом ami (ami x32 5.70 pro)?
Или все так "прикол" в _trace

Прошу коллег.
Откройте этот код в explore и скиньте лог.
Посмотреть профиль Отправить личное сообщение
hero



Зарегистрирован: 27.05.2014
Сообщения: 11

СообщениеДобавлено: Вс Июн 08, 2014 1:52 pm Ответить с цитатой Вернуться к началу

000 писал(а):
У меня нормально. Имей ввиду, что их там можно поразному отсортировать.


Без сортировок. Результат тот же.
Прогнал по другим символам. Результат тотже.

---
Поставил сортировку. Теперь не знаю как отключить )))
Посмотреть профиль Отправить личное сообщение
hero



Зарегистрирован: 27.05.2014
Сообщения: 11

СообщениеДобавлено: Вс Июн 08, 2014 2:03 pm Ответить с цитатой Вернуться к началу

Оставил только один трейс.
Тот же результат.

И если бы дело в сортировки - то был бы перепутан порядок.
Здесь все по порядку только с пропусками.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вс Июн 08, 2014 3:12 pm Ответить с цитатой Вернуться к началу

А попробуй вместо
Код:
for( i = 0; i < BarCount; i++ )

Код:
for( i = 0; i < 500; i++ )

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вс Июн 08, 2014 3:19 pm Ответить с цитатой Вернуться к началу

ХЗ. У меня даже вот так нормально работает
Код:

DT = DateTime();
for( i = 0; i < BarCount; i++ )
{
   _TRACE("# 1 ="+NumToStr(i,1.0));
   _TRACE("Close ="+NumToStr(C[i],1.2));
   _TRACE("Date ="+DateTimeToStr(DT[i]));
   _TRACE("NAME: "+Name());
}

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
hero



Зарегистрирован: 27.05.2014
Сообщения: 11

СообщениеДобавлено: Вс Июн 08, 2014 3:34 pm Ответить с цитатой Вернуться к началу

000 писал(а):
А попробуй вместо
Код:
for( i = 0; i < BarCount; i++ )

Код:
for( i = 0; i < 500; i++ )


Начинается где-то после 13050

Код:
for( i = 0; i < 13500; i++ )
{
   _TRACE(NumToStr(i,1.0));
}
Посмотреть профиль Отправить личное сообщение
hero



Зарегистрирован: 27.05.2014
Сообщения: 11

СообщениеДобавлено: Вс Июн 08, 2014 3:37 pm Ответить с цитатой Вернуться к началу

Наблюдаем картину
Цикл закончился 13 499 ... а процесс все еще висит )))

код проще некуда
Код:
for( i = 0; i < 13500; i++ )  _TRACE(NumToStr(i,1.0));


Ребята попробуйте на 13 500 и выше.
Если у вас все ок - буду разбираться с версиями дистрибутивов и винды.
Посмотреть профиль Отправить личное сообщение
hero



Зарегистрирован: 27.05.2014
Сообщения: 11

СообщениеДобавлено: Вс Июн 08, 2014 3:58 pm Ответить с цитатой Вернуться к началу

Заработало если запустить AMI от имени Администратора.


При чем вывод в файл отрабатывает корректно в обоих случая.
А _trace с общими правами "не успевает" выводить данные.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вс Июн 08, 2014 4:03 pm Ответить с цитатой Вернуться к началу

УРА!!! Laughing

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
hero



Зарегистрирован: 27.05.2014
Сообщения: 11

СообщениеДобавлено: Вс Июн 08, 2014 4:05 pm Ответить с цитатой Вернуться к началу

000 писал(а):
УРА!!! Laughing

И не говори. Убил 4 часа.
Посмотреть профиль Отправить личное сообщение
fujis84



Зарегистрирован: 07.01.2014
Сообщения: 56

СообщениеДобавлено: Вс Июн 08, 2014 5:19 pm Ответить с цитатой Вернуться к началу

любитель
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen