Класс cFilePipe

 

Использую в эксперте библиотечный класс cFilePipe.

Все работает, но в логе терминала постоянно повторяются сообщения об утечке памяти.

1 undeleted dynamic object found:

1 object of class 'CFilePipe'

128 bytes of leaked memory found

2 undeleted dynamic objects found:

2 objects of class 'CFilePipe'

256 bytes of leaked memory found

Я посмотрел, ни в классе cFilePipe, ни в базовом cFile никаких динамических объектов нет.

В эксперте тоже ничего в динамике не создается:


CFilePipe pipeClient;

int OnInit()

{

pipeClient = new CFilePipe();

pipeHandle = pipeClient.Open(pipeName, FILE_READ|FILE_WRITE);


}


void OnDeinit(const int reason)

{    

pipeClient.Close();

delete &pipeClient;

}


Что не так? Почему терминал все время находит утечки?

 

А почему вы объявляете объект статически (без *), а потом применяете new для создания динамического объекта? Уберите new и delete и утечки должны уйти (объект нормально будет содаваться статически не будет терять память при деините программы.

 
Ilya Filatov #:

А почему вы объявляете объект статически (без *), а потом применяете new для создания динамического объекта? Уберите new и delete и утечки должны уйти (объект нормально будет содаваться статически не будет терять память при деините программы.

И ведь правда. Спасибо!

Одновременное использование C# и MQL несколько затуманивает мозги...