Ошибки, баги, вопросы - страница 2142 1...213521362137213821392140214121422143214421452146214721482149...3776 Новый комментарий A100 2018.02.22 18:45 #21411 Ошибки при компиляции class A { public: //(*) static void g1() {} protected: //(**) static void g2() {} }; class B : A {}; //(***) class C : public B { public: // Основание: void f1() { this.g1(); } //(1) ошибка *** препятствуют static void f2() { A::g1(); } //(2) ошибка ??? *** не действуют (прямой доступ) + // * не препятствует + // противоречие с (5)- там нормально void f3() { this.g2(); } //(3) ошибка *** препятствуют static void f4() { A::g2(); } //(4) ошибка ??? *** не действуют (прямой доступ) + // ** не препятствует }; void OnStart() { // Основание: A::g1(); //(5) нормально A::g2(); //(6) ошибка ** препятствуют } Ошибки (2) и (4) не обоснованы хотя бы в силу противоречия (2) и (5) (2) в С::f2 нет доступа к A::g1(5) в OnStart есть доступ к A::g1при том что синтаксис совпадает. А чем OnStart лучше? С++ компиляторы могут давать разные результаты вопрос про #include Компиляция в старых и Internal Error(1) fxsaber 2018.02.22 18:57 #21412 Access violation at 0x00000001407742FB read to 0xFFFFFFFFFFFFFFFF 0000000140774020 48895C2418 mov [rsp+0x18], rbx 0000000140774025 57 push rdi 0000000140774026 4156 push r14 0000000140774028 4157 push r15 000000014077402A 4883EC20 sub rsp, 0x20 000000014077402E 8B7A08 mov edi, [rdx+0x8] 0000000140774031 488BDA mov rbx, rdx 0000000140774034 0FB75202 movzx edx, word [rdx+0x2] 0000000140774038 4C8BF1 mov r14, rcx 000000014077403B 0FB6C2 movzx eax, dl 000000014077403E 0FB6CA movzx ecx, dl 0000000140774041 C0E803 shr al, 0x3 0000000140774044 A801 test al, 0x1 0000000140774046 0F845E010000 jz dword 0x1407741aa 000000014077404C 498B8638020000 mov rax, [r14+0x238] 0000000140774053 4C8B80300B0000 mov r8, [rax+0xb30] 000000014077405A 4D85C0 test r8, r8 000000014077405D 0F8447010000 jz dword 0x1407741aa 0000000140774063 4533FF xor r15d, r15d 0000000140774066 6683CA01 or dx, 0x1 000000014077406A 66895302 mov [rbx+0x2], dx 000000014077406E 418BFF mov edi, r15d 0000000140774071 4C897B1C mov [rbx+0x1c], r15 0000000140774075 458B08 mov r9d, [r8] 0000000140774078 4585C9 test r9d, r9d 000000014077407B 0F84A0020000 jz dword 0x140774321 0000000140774081 498B9638020000 mov rdx, [r14+0x238] 0000000140774088 4885D2 test rdx, rdx 000000014077408B 7430 jz 0x1407740bd 000000014077408D 488B8AC80E0000 mov rcx, [rdx+0xec8] 0000000140774094 4885C9 test rcx, rcx 0000000140774097 7419 jz 0x1407740b2 0000000140774099 488B82300B0000 mov rax, [rdx+0xb30] 00000001407740A0 4885C0 test rax, rax 00000001407740A3 740D jz 0x1407740b2 00000001407740A5 3B38 cmp edi, [rax] 00000001407740A7 7309 jae 0x1407740b2 00000001407740A9 448BC7 mov r8d, edi 00000001407740AC 4A8B04C1 mov rax, [rcx+r8*8] 00000001407740B0 EB06 jmp 0x1407740b8 00000001407740B2 498BC7 mov rax, r15 00000001407740B5 448BC7 mov r8d, edi 00000001407740B8 483BC3 cmp rax, rbx 00000001407740BB 7416 jz 0x1407740d3 00000001407740BD FFC7 inc edi 00000001407740BF 413BF9 cmp edi, r9d 00000001407740C2 72C4 jb 0x140774088 00000001407740C4 488B5C2450 mov rbx, [rsp+0x50] 00000001407740C9 4883C420 add rsp, 0x20 00000001407740CD 415F pop r15 00000001407740CF 415E pop r14 00000001407740D1 5F pop rdi 00000001407740D2 C3 ret 00000001407740D3 4885C9 test rcx, rcx 00000001407740D6 7437 jz 0x14077410f 00000001407740D8 488B82300B0000 mov rax, [rdx+0xb30] 00000001407740DF 4885C0 test rax, rax 00000001407740E2 742B jz 0x14077410f 00000001407740E4 3B38 cmp edi, [rax] 00000001407740E6 7327 jae 0x14077410f 00000001407740E8 4A8B04C1 mov rax, [rcx+r8*8] 00000001407740EC 4885C0 test rax, rax 00000001407740EF 741E jz 0x14077410f 00000001407740F1 4C89781C mov [rax+0x1c], r15 00000001407740F5 488B82C80E0000 mov rax, [rdx+0xec8] 00000001407740FC 4A8B0CC0 mov rcx, [rax+r8*8] 0000000140774100 44897908 mov [rcx+0x8], r15d 0000000140774104 488B82C80E0000 mov rax, [rdx+0xec8] 000000014077410B 4E893CC0 mov [rax+r8*8], r15 000000014077410F 4538BE4F290000 cmp [r14+0x294f], r15b 0000000140774116 0F8505020000 jnz dword 0x140774321 000000014077411C 498B8638020000 mov rax, [r14+0x238] 0000000140774123 F780280700000000 test dword [rax+0x728], 0x1000000 0001 000000014077412D 0F84EE010000 jz dword 0x140774321 0000000140774133 B93C050000 mov ecx, 0x53c 0000000140774138 66398826070000 cmp [rax+0x726], cx 000000014077413F 0F82DC010000 jb dword 0x140774321 0000000140774145 498B8E98000000 mov rcx, [r14+0x98] 000000014077414C 4885C9 test rcx, rcx 000000014077414F 0F84CC010000 jz dword 0x140774321 0000000140774155 488B01 mov rax, [rcx] 0000000140774158 488B9090070000 mov rdx, [rax+0x790] 000000014077415F 488D054ACDFBFF lea rax, [rip-0x432b6] 0000000140774166 483BD0 cmp rdx, rax 0000000140774169 0F85E0010000 jnz dword 0x14077434f 000000014077416F 488B050A5F4C00 mov rax, [rip+0x4c5f0a] 0000000140774176 0FB68098420000 movzx eax, byte [rax+0x4298] 000000014077417D 84C0 test al, al 000000014077417F 0F849C010000 jz dword 0x140774321 0000000140774185 448BCF mov r9d, edi 0000000140774188 4C8D0529FC2C00 lea r8, [rip+0x2cfc29] 000000014077418F BA01000000 mov edx, 0x1 0000000140774194 498BCE mov rcx, r14 0000000140774197 488B5C2450 mov rbx, [rsp+0x50] 000000014077419C 4883C420 add rsp, 0x20 00000001407741A0 415F pop r15 00000001407741A2 415E pop r14 00000001407741A4 5F pop rdi 00000001407741A5 E9C6560000 jmp 0x140779870 00000001407741AA F6C101 test cl, 0x1 00000001407741AD 0F847D010000 jz dword 0x140774330 00000001407741B3 F6C206 test dl, 0x6 00000001407741B6 0F8574010000 jnz dword 0x140774330 00000001407741BC 4533FF xor r15d, r15d 00000001407741BF 48896C2440 mov [rsp+0x40], rbp 00000001407741C4 488B6B1C mov rbp, [rbx+0x1c] 00000001407741C8 44897B18 mov [rbx+0x18], r15d 00000001407741CC 44897B08 mov [rbx+0x8], r15d 00000001407741D0 4885ED test rbp, rbp 00000001407741D3 0F8443010000 jz dword 0x14077431c 00000001407741D9 4885FF test rdi, rdi 00000001407741DC 0F84FE000000 jz dword 0x1407742e0 00000001407741E2 440FB703 movzx r8d, word [rbx] 00000001407741E6 664183F859 cmp r8w, 0x59 00000001407741EB 7411 jz 0x1407741fe 00000001407741ED 4C397B2C cmp [rbx+0x2c], r15 00000001407741F1 750B jnz 0x1407741fe 00000001407741F3 664183F85D cmp r8w, 0x5d 00000001407741F8 0F85E2000000 jnz dword 0x1407742e0 00000001407741FE B901000000 mov ecx, 0x1 0000000140774203 488D530C lea rdx, [rbx+0xc] 0000000140774207 8B02 mov eax, [rdx] 0000000140774209 85C0 test eax, eax 000000014077420B 740F jz 0x14077421c 000000014077420D 480FAFF8 imul rdi, rax 0000000140774211 FFC1 inc ecx 0000000140774213 4883C204 add rdx, 0x4 0000000140774217 83F904 cmp ecx, 0x4 000000014077421A 7CEB jl 0x140774207 000000014077421C 664183F85D cmp r8w, 0x5d 0000000140774221 7517 jnz 0x14077423a 0000000140774223 4C8D04FD00000000 lea r8, [rdi*8+0x0] 000000014077422B 33D2 xor edx, edx 000000014077422D 488BCD mov rcx, rbp 0000000140774230 E82BEEA0FF call 0x140183060 ; #14396 (terminal64.exe) 0000000140774235 E9A6000000 jmp 0x1407742e0 000000014077423A 664183F859 cmp r8w, 0x59 000000014077423F 7517 jnz 0x140774258 0000000140774241 498D8E98010000 lea rcx, [r14+0x198] 0000000140774248 448BC7 mov r8d, edi 000000014077424B 488BD5 mov rdx, rbp 000000014077424E E86D48FEFF call 0x140758ac0 ; #29073 (terminal64.exe) 0000000140774253 E988000000 jmp 0x1407742e0 0000000140774258 4889742448 mov [rsp+0x48], rsi 000000014077425D 488BF7 mov rsi, rdi 0000000140774260 4885FF test rdi, rdi 0000000140774263 7426 jz 0x14077428b 0000000140774265 6666660F1F840000 o16 nop [rax+rax+0x0] 000000 0000000140774270 4C8B432C mov r8, [rbx+0x2c] 0000000140774274 488BD5 mov rdx, rbp 0000000140774277 498BCE mov rcx, r14 000000014077427A E86CD783FF call 0x13ffb19eb ; #5243 (terminal64.exe) 000000014077427F 8B4304 mov eax, [rbx+0x4] 0000000140774282 4803E8 add rbp, rax 0000000140774285 4883EF01 sub rdi, 0x1 0000000140774289 75E5 jnz 0x140774270 000000014077428B F6430220 test byte [rbx+0x2], 0x20 000000014077428F 744A jz 0x1407742db 0000000140774291 488B542438 mov rdx, [rsp+0x38] 0000000140774296 498BCE mov rcx, r14 0000000140774299 E8B2540000 call 0x140779750 ; #29352 (terminal64.exe) 000000014077429E 4885C0 test rax, rax 00000001407742A1 7438 jz 0x1407742db 00000001407742A3 B9EC020000 mov ecx, 0x2ec 00000001407742A8 66398826070000 cmp [rax+0x726], cx 00000001407742AF 722A jb 0x1407742db 00000001407742B1 488B7B1C mov rdi, [rbx+0x1c] 00000001407742B5 4885F6 test rsi, rsi 00000001407742B8 7421 jz 0x1407742db 00000001407742BA 660F1F440000 o16 nop [rax+rax+0x0] 00000001407742C0 488B17 mov rdx, [rdi] 00000001407742C3 498D8E38010000 lea rcx, [r14+0x138] 00000001407742CA E82151FEFF call 0x1407593f0 ; #29085 (terminal64.exe) 00000001407742CF 8B4304 mov eax, [rbx+0x4] 00000001407742D2 4803F8 add rdi, rax 00000001407742D5 4883EE01 sub rsi, 0x1 00000001407742D9 75E5 jnz 0x1407742c0 00000001407742DB 488B742448 mov rsi, [rsp+0x48] 00000001407742E0 0FB703 movzx eax, word [rbx] 00000001407742E3 B980000000 mov ecx, 0x80 00000001407742E8 663BC1 cmp ax, cx 00000001407742EB 721B jb 0x140774308 00000001407742ED B900800000 mov ecx, 0x8000 00000001407742F2 663BC1 cmp ax, cx 00000001407742F5 7311 jae 0x140774308 00000001407742F7 488B531C mov rdx, [rbx+0x1c] crash --> 00000001407742FB 486342FC movsxd rax, dword [rdx-0x4] 00000001407742FF 482BD0 sub rdx, rax 0000000140774302 4889531C mov [rbx+0x1c], rdx 0000000140774306 EB04 jmp 0x14077430c 0000000140774308 488B531C mov rdx, [rbx+0x1c] 000000014077430C 498D8EA0000000 lea rcx, [r14+0xa0] 0000000140774313 E8A805FEFF call 0x1407548c0 ; #29022 (terminal64.exe) 00: 0x00000001407742FB 01: 0x000000000000000A fxsaber 2018.02.22 23:53 #21413 Vladimir Pastushak: Это как ? Не понял...Проигрывание из индикатора любой длительности звукового файла. Скрипт Scripts\PlaySound.mq5 #include <GlobalVariables.mqh> // https://www.mql5.com/ru/forum/189649#comment_4854618 void OnStart() { const string SoundName = "SOUND"; if (GlobalVariableCheck(SoundName)) { PlaySound(_GlobalVariableGet<string>(SoundName)); _GlobalVariableDel(SoundName); } } Индикатор #property indicator_chart_window #property indicator_buffers 0 #property indicator_plots indicator_buffers #include <fxsaber\Expert.mqh> // https://www.mql5.com/ru/code/19003 #include <GlobalVariables.mqh> // https://www.mql5.com/ru/forum/189649#comment_4854618 class PLAYER { public: const string Name; const long Chart; const long chartID; PLAYER( const long iChart = 0 ) : Name(__FILE__), Chart(iChart ? iChart : ::ChartID()), chartID(::ObjectCreate(this.Chart, this.Name, OBJ_CHART, 0, 0, 0) && ::ObjectSetInteger(this.Chart, this.Name, OBJPROP_XSIZE, 0) && ::ObjectSetInteger(this.Chart, this.Name, OBJPROP_YSIZE, 0) ? ::ObjectGetInteger(this.Chart, this.Name, OBJPROP_CHART_ID) : this.Chart) { } ~PLAYER() { if (this.chartID != this.Chart) ::ObjectDelete(this.Chart, this.Name); } void PlaySound( string FileName, const string ScriptName = "Scripts\\PlaySound.ex5" ) const { static const string SoundName = "SOUND"; if (_GlobalVariableSet(SoundName, FileName)) { MqlParam Params[1]; Params[0].string_value = ScriptName; if (!EXPERT::Run(this.chartID, Params)) _GlobalVariableDel(SoundName); } } }; int OnCalculate( const int rates_total , const int prev_calculated, const int, const double& [] ) { if (!prev_calculated) { const PLAYER Player; Player.PlaySound("email.wav"); } return(rates_total); } A100 2018.02.23 06:07 #21414 Не работает PlaySound( NULL ) void OnStart() { if ( !PlaySound( "timeout.wav" ) ) Print( "1:", GetLastError()); if ( !PlaySound( NULL ) ) Print( "2:", GetLastError()); } Результат: 2:4002 и при этом не останавливает воспроизведение Vladimir Pastushak 2018.02.23 07:54 #21415 fxsaber: Проигрывание из индикатора любой длительности звукового файла. Скрипт Scripts\PlaySound.mq5 Индикатор Правильно я понял, для проигрывания файла Вы запускаете скрипт? Evgeny Chernyshev 2018.02.23 10:24 #21416 fxsaber: Добрый день! Это креш терминала или метаэдитора? При каких обстоятельствах возник креш? Какая битность/версия терминала/ОС ? fxsaber 2018.02.23 10:41 #21417 Vladimir Pastushak: Правильно я понял, для проигрывания файла Вы запускаете скрипт? Индикатор запускает скрипт. fxsaber 2018.02.23 10:44 #21418 Evgeny Chernyshev: Добрый день! Это креш терминала или метаэдитора? При каких обстоятельствах возник креш? Какая битность/версия терминала/ОС ?Это креш Терминала при запуске дебага этого индикатора. Win7x-x64, build 1755. У меня долгое время крешился каждый дебаг, при этом релиз - без проблем. Затем и дебаг без проблем. Т.е. воспроизводится не на 100%. Andrey Khatimlianskii 2018.02.23 14:42 #21419 Vladimir Pastushak: При запуске терминала индикаторы не всегда возвращают ACCOUNT_LOGINИндикатор запускается раньше, чем терминал подключается к счету. У этого есть недостатки (недоступна информация по счету) и достоинства (можно отобразить все что угодно, не дожидаясь коннекта). Обойти недостатки совсем несложно ("if ( AccountNumber() != prevAccount ) InitAgain()"). Зачем лишаться достоинств и перекраивать архитектуру? Лента сделок в MetaTrader Самый дорогой индикатор в А IsConnected так и Andrii Djola 2018.02.23 20:42 #21420 коллеги такой вопрос: есть возможность в MQL5 создать динамический список параметров? к примеру есть перечисление в параметрах, и в зависимости от его значения скрыть или отобразить некие параметры. И еще при попытке отправить изменения в хранилище вылазит ошибка, может кто знает что делать? Файлы: err1.png 31 kb [ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой Эконометрика: прогноз на один Вопросы по ООП в 1...213521362137213821392140214121422143214421452146214721482149...3776 Новый комментарий
Ошибки при компиляции
Ошибки (2) и (4) не обоснованы хотя бы в силу противоречия (2) и (5)
при том что синтаксис совпадает. А чем OnStart лучше?
С++ компиляторы могут давать разные результаты
Это как ? Не понял...
Проигрывание из индикатора любой длительности звукового файла.
Скрипт Scripts\PlaySound.mq5
Индикатор
Не работает PlaySound( NULL )
Результат: 2:4002
и при этом не останавливает воспроизведение
Проигрывание из индикатора любой длительности звукового файла.
Скрипт Scripts\PlaySound.mq5
Индикатор
Правильно я понял, для проигрывания файла Вы запускаете скрипт?
Добрый день! Это креш терминала или метаэдитора? При каких обстоятельствах возник креш?
Какая битность/версия терминала/ОС ?
Правильно я понял, для проигрывания файла Вы запускаете скрипт?
Индикатор запускает скрипт.
Добрый день! Это креш терминала или метаэдитора? При каких обстоятельствах возник креш?
Какая битность/версия терминала/ОС ?
Это креш Терминала при запуске дебага этого индикатора.
Win7x-x64, build 1755. У меня долгое время крешился каждый дебаг, при этом релиз - без проблем. Затем и дебаг без проблем. Т.е. воспроизводится не на 100%.
При запуске терминала индикаторы не всегда возвращают ACCOUNT_LOGIN
Индикатор запускается раньше, чем терминал подключается к счету.
У этого есть недостатки (недоступна информация по счету) и достоинства (можно отобразить все что угодно, не дожидаясь коннекта).
Обойти недостатки совсем несложно ("if ( AccountNumber() != prevAccount ) InitAgain()"). Зачем лишаться достоинств и перекраивать архитектуру?
коллеги такой вопрос:
есть возможность в MQL5 создать динамический список параметров?
к примеру есть перечисление в параметрах, и в зависимости от его значения скрыть или отобразить некие параметры.
И еще при попытке отправить изменения в хранилище вылазит ошибка, может кто знает что делать?