앗. 지원 질문 - 페이지 9

 

하지만 굳이 그럴 필요는 없습니다...

기능 가상화를 사용해야 합니다.

추신 네, 그리고 일반 프로그램을 빌드하기 위해 암시적 유형 캐스팅 의 도움으로 작동하지 않습니다. GoTo... 문과 같은 변형일 뿐입니다.

Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5
 
AlexSTAL :
2) 가장 중요한 것은 프로그램이 끝나기 전에 삭제하는 것입니다... 하지만 이 포인터를 함수에 생성했다면 전역 위치에 저장해야 합니다...


나도 그렇게 생각했는데 배열이 전역적으로 보이지만 누수가 있습니다. 아니면 현재 배열이 필요하지 않지만 다른 것이 있습니까?

 
나는 당신과 정말 미치고 있어요))))
 
Interesting :

나도 그렇게 생각했는데 배열이 전역적으로 보이지만 누수가 있습니다. 아니면 현재 배열이 필요하지 않고 다른 것도 필요합니까?

글쎄, 당신은 다른 곳에서 누출이있을 수 있습니다 ...

나는 이런 식으로 수백 개의 클래스를 만들었고 어디에도 누출이 없었습니다....

간단한 예를 들어보세요...

 
TheXpert :
난 정말 당신과 함께 겁이 났어요)))))
가끔은 쓸만해.. 신경질적인 몸의 떨림....
 
AlexSTAL :

글쎄, 당신은 다른 곳에서 누출이있을 수 있습니다 ...

나는 이런 식으로 수백 개의 클래스를 만들었고 어디에도 누출이 없었습니다....

간단한 예를 들어보세요...

이 코드를 전문가의 언인스톨 블록에 넣어 제거한 것 같습니다(현재까지는 문제 없음)

   for ( int i= 0 ; i< ArraySize (ArrShapes);i++)  
  {
  ArrShapes[i].Free(ArrShapes[i]);
  }
 

결과적으로 이것은 매우 이해할 수 없는 결과가 되었습니다.

기적의 유도는 한마디로... :)

파일:
Forum-2.mq5  11 kb
 

일반적으로 https://www.mql5.com/ru/forum/3566/page6#comment_58280 문제에 대한 토론 후 이사회에 요청을 보냈습니다.

 
Yedelkin :

일반적으로 https://www.mql5.com/ru/forum/3566/page6#comment_58280 문제에 대한 토론 후 이사회에 요청을 보냈습니다.

1. 몰라, 몰라.

개발자는 보안을 위해 기능을 희생하면서 특정 단계를 수행하지 않을 것 같습니다(한편으로는 맞습니다).

Alexander( AlexSTAL )가 제안한 방법은 아마도 문제를 해결할 것입니다(우리는 문제의 특정 특성을 고려하지 않을 것입니다).

그러나 그렇게 함으로써 우리는 기껏해야 후손의 이벤트와 메서드에 액세스할 수 있습니다(이 경우 조상에서 선언되지 않은 속성, 변수 및 유사한 것들은 사용되지 않을 것입니다).

여기에서 대부분의 경우 실험을 해야 합니다.


2. 지금 가지고 있는 것을 바탕으로 다르게 할 수 있습니다. 두 가지 옵션이 있습니다.

ㅏ. 하나의 클래스(특정 유형의 자손)의 개체만 배치하는 특수 배열을 사용하십시오.

이 경우 배열에 있는 객체의 속성, 메서드 및 이벤트에 대한 액세스 권한을 얻을 수 있습니다(동종이기 때문에).

비. 한 기본 클래스의 자손인 이기종 개체의 배열로 작업해야 하는 경우 각 유형의 자손을 저장할 추가 배열을 만들어야 합니다.

따라서 기본 배열에서는 모든 개체에 공통적인 기능(AUTOGEN 및 SLAMMER가 없는 경우)에만 액세스할 수 있고 특수 배열 수준에서는 각 유형의 하위 항목에 대한 전체 기능에 액세스할 수 있습니다.

내가 이해하는 한 여러 테이블로 구성된 데이터베이스와 같은 것이 일대다 및 다대일 관계 방식으로 나타납니다. 이 시나리오에서 진실은 전체의 적절한 동기화의 문제가 될 것입니다. 또한 즉석 데이터베이스의 모든 배열(테이블)을 연결할 대상을 기준으로 결정해야 합니다.

바인딩은 포인터나 특수 핸들(칠면조에서 사용되는 것과 유사)과 같은 일부 고유 식별자를 기반으로 수행할 수 있습니다.

추신

그건 그렇고, 제 생각에는 핸들이 있는 아이디어는 꽤 좋습니다(포인터가 객체에 대한 모든 작업의 기초로 간주되더라도). 아이디어 핸들을 사용하면 고유한 종류 또는 전체 개체 목록에서 고유한 개체를 선택할 수 있습니다.

 
TheXpert :
나는 당신과 정말 미치고 있어요))))
가끔은 나 자신도 미쳐가는데, 가끔은 그게 좋다. :)