Обсуждение статьи "Работа с сетевыми функциями, или MySQL без DLL: Часть II - программа для мониторинга изменения свойств сигналов" - страница 3

 
leonerd #:

А на работающем экземпляре (старая mysql) периодически такое получаю:

Здесь на data[ptr]:

Я пока что вообще не смог подключиться к MySQL 8.0.23 (ошибка 1045: "access denied for user ... ").

Разбираюсь.

По поводу ошибки в строке (367, 37) - странно. Поставить бы там проверку с брейкпойнтом, посмотреть на значения переменных. У меня эта библиотека работает круглосуточно не первый год, запросы каждые 30 секунд (не короткие, с данными). И ни разу не падала. Знать бы, какой запрос её сносит.

 
Я пока что вообще не смог подключиться к MySQL 8.0.23 (ошибка 1045: "access denied for user ... ").
из GUI не можете?
 

По поводу ошибки в строке (367, 37) - странно. Поставить бы там проверку с брейкпойнтом, посмотреть на значения переменных. У меня эта библиотека работает круглосуточно не первый год, запросы каждые 30 секунд (не короткие, с данными). И ни разу не падала. Знать бы, какой запрос её сносит.



Непросто воспроизвести.
 

mySql возвращает POINTER_INVALID, когда я выполняю запрос в OnDeInit советника, но тот же код работает, когда я выполняю его в функции OnInit, кто-нибудь знает, что это может быть?

 
Vinicius Oliveira POINTER_INVALID, когда я выполняю запрос в OnDeInit советника, но тот же код работает, когда я выполняю его в функции OnInit, кто-нибудь знает, что это может быть?
пожалуйста, запустите код в отладчике и скажите, в какой функции происходит ошибка
 
Serhii Shevchuk #:
пожалуйста, запустите код в отладчике и сообщите нам, в какой функции возникает ошибка

Вероятное местоположение ошибки


Судя по всему, ошибка может возникать здесь. В функции"bool CMySQLTransaction::Query(string q)" в файле MySQLTransaction.mqh

 
2022.02.19 13:09:10.266      array out of range in 'MySQLTransaction.mqh' (471,11)


 

2022.02.19 13:22:44.346 array out of range in 'MySQLTransaction.mqh' (501,11)



 

2022.02.19 14:24:31.882         CMySQLTransaction::PacketDataHandler: m_responses=1
2022.02.19 14:24:31.882         array out of range in 'MySQLTransaction.mqh' (502,11)

 

Вот еще в лог вывел размер массива. В общем, где-то он не изменяется правильно или m_responses неверное...

2022.02.19 14:28:59.455         CMySQLTransaction::PacketDataHandler: m_responses=1
2022.02.19 14:28:59.455         CMySQLTransaction::PacketDataHandler: m_rbuf size=1
2022.02.19 14:28:59.455         array out of range in 'MySQLTransaction.mqh' (503,11)


Сделал расширение массива вручную при необходимости до m_responses+1.