Удалось ли лишить проблему, тоже столкнулся с этой же проблемой post запросами из мт5. в мт4 все работает отлично.
Я выявил, что проблему вызывает функция
h_request = HttpOpenRequestW(h_connect, method, path, http_version, nill, 0, flags, 0);
передаю в нее на 304 строке данные и она вызывает ошибку.
2023.07.18 14:27:53.546 Navigator (GBPUSD,H1) 304 13369408 POST /protect/levels.php HTTP/1.1 0 2160066816 0
2023.07.18 14:27:53.546 Navigator (GBPUSD,H1) Access violation at 0x00007FFD6A231F34 read to 0x0000025200000000 in 'wininet.dll' 2023.07.18 14:27:53.546 Navigator (GBPUSD,H1) crash --> 00007FFD6A231F34 4C3929 cmp [rcx], r13 2023.07.18 14:27:53.546 Navigator (GBPUSD,H1) 00007FFD6A231F37 0F85C7020000 jnz dword 0x7ffd6a232204 2023.07.18 14:27:53.546 Navigator (GBPUSD,H1) 2023.07.18 14:27:53.546 Navigator (GBPUSD,H1) 00007FFD6A231F3D 488B0DAC353D00 mov rcx, [rip+0x3d35ac] 2023.07.18 14:27:53.546 Navigator (GBPUSD,H1) 00007FFD6A231F44 8D4301 lea eax, [rbx+0x1] 2023.07.18 14:27:53.546 Navigator (GBPUSD,H1) 00007FFD6A231F47 440FB7E0 movzx r12d, ax 2023.07.18 14:27:53.546 Navigator (GBPUSD,H1) 00007FFD6A231F4B 33D2 xor edx, edx 2023.07.18 14:27:53.546 Navigator (GBPUSD,H1) 00007FFD6A231F4D 458BC4 mov r8d, r12d 2023.07.18 14:27:53.546 Navigator (GBPUSD,H1) 2023.07.18 14:27:53.546 Navigator (GBPUSD,H1) 00: 0x00007FFD6A231F34 2023.07.18 14:27:53.546 Navigator (GBPUSD,H1) 01: 0x00000252824CE100 2023.07.18 14:27:53.546 Navigator (GBPUSD,H1) 02: 0x0000000000CC0040
вот так решил проблему, заменив 0 на nill там по winapi должен получать указатель.
HINTERNET HttpOpenRequestW( [in] HINTERNET hConnect, [in] LPCWSTR lpszVerb, [in] LPCWSTR lpszObjectName, [in] LPCWSTR lpszVersion, [in] LPCWSTR lpszReferrer, [in] LPCWSTR *lplpszAcceptTypes, [in] DWORD dwFlags, [in] DWORD_PTR dwContext );
Вы работаете в 64-битной системе, а не в 32-битной!
Поэтому
HINTERNET не int, а long
DWORD_PTR не int, а long
вот так решил проблему, заменив 0 на nill там по winapi должен получать указатель.
HINTERNET HttpOpenRequestW( [in] HINTERNET hConnect, [in] LPCWSTR lpszVerb, [in] LPCWSTR lpszObjectName, [in] LPCWSTR lpszVersion, [in] LPCWSTR lpszReferrer, [in] LPCWSTR *lplpszAcceptTypes, [in] DWORD dwFlags, [in] DWORD_PTR dwContext );
Александр, гениально. Моя ошибка тоже ушла! Все арбайтен. Как Вы это нашли и что такое nill ?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем привет!
мне нужно отправлять OHCLV в веб сервис через POST. У меня не получилось воспользоваться методом WebRequest так чтобы отправить пару ключ:значение. Я начал искать другие варианты и нашел вот такую библиотеку https://github.com/vivazzi/mql_requests/tree/main . Немного пошаманив с ней и добившись того, чтобы она компилировалась под mql5 я попробовал ее поэксплуатировать. В результате данные даже отправляются первые раз или два. Но потом в итоге валится ошибка:
Сам код измененной библиотеки:
Помогите, пож-та!