오류, 버그, 질문 - 페이지 2795

 
Artyom Trishkin :
내 생각에 당신은 목록에 모든 포인터를 추가합니다. 터미널 하위 시스템 자체는 CArrayObj 목록에 있는 포인터와 같은 개체를 삭제합니다.

여기에 잠재적인 메모리 누수가 있습니다.

메모리 누수가 있는 경우( 포인터에 의해 개체가 삭제되지 않은 경우 ) 완료 시 삭제되지 않은 개체 및 삭제되지 않은 개체의 수와 해제되지 않은 메모리의 양을 로그에 기록합니다. 그러나 나는 그런 것이 없었습니다. 개체가 삭제되지만 모든 차트 개체가 삭제되는 것은 아닙니다.

Rashid Umarov 는 차트가 차트 개체를 삭제하는 많은 명령을 처리할 시간이 없다는 것이 문제임을 알아차렸습니다! 메모리 누수는 무엇입니까?
Документация по MQL5: Основы языка / Типы данных / Указатели объектов
Документация по MQL5: Основы языка / Типы данных / Указатели объектов
  • www.mql5.com
//| Script program start function                                    | //|  Объекты всегда передаются по ссылке                             | //| Передача массива объектов                                        | //| Передача массива указателей на объект                            |
 
Mihail Matkovskij :

이것은 단지 예일 뿐입니다. 내가 작업하고 있는 지표에서 이름은 다소 복잡합니다. 그리고 시연을 위해 예제를 만들었습니다.

접두사에 무슨 문제가 있습니까? 먼저 확인했어야 하지 않을까요?

 
Mihail Matkovskij :

메모리 누수가 있는 경우( 포인터에 의해 개체가 삭제되지 않은 경우 ) 완료 시 삭제되지 않은 개체 및 삭제되지 않은 개체의 수와 해제되지 않은 메모리의 양을 로그에 기록합니다. 그러나 나는 그런 것이 없었습니다. 개체가 삭제되지만 모든 차트 개체가 삭제되는 것은 아닙니다.

Rashid Umarov 는 차트가 차트 개체를 삭제하는 많은 명령을 처리할 시간이 없다는 것이 문제임을 알아차렸습니다! 메모리 누수는 무엇입니까?
나는 "잠재력"을 썼다. 이것은 당신이 나중에 다시 보게 될 것임을 의미합니다. 바로 낫습니다.
 
Alexey Viktorov :

접두사에 무슨 문제가 있습니까? 아마도 먼저 확인했어야 하지 않을까요?

내 표시기에서 개체 이름을 지정하기 위한 모든 알고리즘을 다시 실행하는 것은 지루하고 작동할지 모르겠습니다... 그리고 많은 코드가 있습니다. 저를 믿으십시오.

아마도 다른 방법이 있을 것입니다. 예를 들어, 먼저 모든 개체에 대해 ObjectDelete를 호출 한 다음 지연 후에 ObjectFind를 호출합니다. 그리고 삭제되지 않은 개체를 다시 삭제합니다. 그리고 숫자가 0이 될 때까지 계속합니다. 그러나 Sleep 기능이 작동하지 않으면 표시기를 지연시키는 방법은 무엇입니까?

Artyom Trishkin :
나는 "잠재력"을 썼다. 이것은 나중에 다시 보게 될 것임을 의미합니다. 바로 낫습니다.
이것은 단지 예일 뿐이며 메모리 누수에 관한 것이 아닙니다. 표시기에서 모든 것이 다르게 배열됩니다.
 
Mihail Matkovskij :

내 표시기에서 모든 객체 명명 알고리즘을 다시 실행하는 것은 지루합니다. 그리고 많은 코드가 있습니다. 저를 믿으십시오.

아마도 다른 방법이 있을 것입니다. 예를 들어, 먼저 모든 개체에 대해 ObjectDelete를 호출 한 다음 지연 후에 ObjectFind를 호출합니다. 그리고 다시 삭제되지 않은 개체를 삭제합니다. 그리고 숫자가 0이 될 때까지 계속합니다. 그러나 Sleep 기능이 작동하지 않으면 표시기를 지연시키는 방법은 무엇입니까?

매우 올바른 접근 방식입니다. 나는 모든 것을 변경하는 것이 지루하고 개발자가 모든 것을 지루하게 변경하게하십시오. 누가 당신의 모범을 확인하고 결과를 발표하는 것을 막습니까? 당신은 그렇게 하고 싶지도 않습니다. “그들이 시도하게 하십시오. 나는 그것을 기다리는 것이 좋습니다…” © V. Vysotsky.

 
Alexey Viktorov :

매우 올바른 접근 방식입니다. 나는 모든 것을 변경하는 것이 지루하고 개발자가 모든 것을 지루하게 변경하게하십시오. 누가 당신의 예를 확인하고 결과를 발표하는 것을 막나요? 당신은 그렇게 하고 싶지도 않습니다. “그들이 시도하게 하십시오. 나는 그것을 기다리는 것이 좋을 것입니다…” © V. Vysotsky.

개발자들이 저를 위해 뭔가를 해주려고 그런 말을 한 것이 아닙니다! 객체 명명 알고리즘 자체가 ObjectDeledeAll 함수에 대한 후속 호출을 위해 설계되지 않았기 때문입니다. 이것은 단순한 네이밍 "트렌드"의 예일 뿐입니다.

 
Mihail Matkovskij :

개발자들이 저를 위해 뭔가를 해주려고 그런 말을 한 것이 아닙니다!

직접적으로 말하지는 않았지만 존재하지 않는 버그에 대한 메시지는 그렇게 읽힙니다.

 
Alexey Viktorov :

직접적으로 말하지는 않았지만 존재하지 않는 버그에 대한 메시지는 그렇게 읽힙니다.

다른 버그는 무엇입니까? Rashid Umarov 는 모든 것을 설명했고 나는 그를 이해했습니다. 웬일인지, 당신은 메시지에 여기에 쓰여진 것을 이해하지 못했습니다. :)

 
Mihail Matkovskij :

다른 버그는 무엇입니까?

그것에 대해

마이클 마트코프스키 :

이 버그가 발생하는 소스를 만들었습니다.

 
Alexey Viktorov :

그것에 대해

알렉시, 내 메시지를 왜곡하여 나를 대신하여 개발자에게 주장하는 것처럼 보이게 만드는 것 외에는 다른 할 일이 없습니까? ... 당신 편에서 그런 이상한 "열정"을 유발한 이유가 무엇인지 궁금합니다. 초보분들은 여기에서 엉뚱한 질문보다는 관련 분야에서 도움을 받는 것이 좋을 것 같습니다.   공부하다!...