Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 597

 
Juer:

Да, в том-то и дело. Так всё запуталось, объекты в других объектах и не так просто уже удалить. Одни объекты зависят от других, а те от третьих, которые зависят от первых :)

Жизнь такая сложная :(

Проще простого все объекты внутри объектов прописывается удаление в деконструкторе и об их удалении даже голову себе не забиваете. Я по крайней мере если создаю объект внутри класса, первым делом прописываю его удаление в деконструктор. И уже потом вес функционал.
Но вообще вам правильно сказали. Начните все с ноля собирать. И потихоньку будете находить свои неточности.

 

Подскажите, вот я создаю объект CArrayObj, добавляю в него другие объекты. Сами объекты мне ещё нужны. А этот объект-список мне можно удалить.

Мне каким методом убрать из него объекты перед удалением? Detach() или Delete()?

Или Clear() / Shutdown() ?

 
Juer:

Подскажите, вот я создаю объект CArrayObj, добавляю в него другие объекты. Сами объекты мне ещё нужны. А этот объект-список мне можно удалить.

Мне каким методом убрать из него объекты перед удалением? Detach() или Delete()?

Или Clear() / Shutdown() ?

Нельзя удалять массив объектов, если в нём находятся нужные вам объекты.

Вы откуда их потом брать будете, если удалите массив с объектами?

Этот массив вам нужен для доступа к объектам, в нём хранящимся.

 
Artyom Trishkin:

Нельзя удалять массив объектов, если в нём находятся нужные вам объекты.

Вы откуда их потом брать будете, если удалите массив с объектами?

Этот массив вам нужен для доступа к объектам, в нём хранящимся.

Мне он больше не нужен. Я добавил в массив объекты, произвел потом нужные действия в этом массиве. Этот массив мне нужен был только в отдельной  функции.

Сами объекты мне нужны. Ну вот, надо же удалить объект массива, верно? Значит, сначала надо убрать из него объекты, а следом удалить. Вот каким методом правильнее очистить массив (не удаляя самих объектов)?

 
Rustam Bikbulatov:

Чем отличается OrderSend(...)>0 и просто OrderSend(...) ? Видел некоторые ставят OrderSend(...)<0.

В чем отличие? За что отвечает знаки сравнения?

OrderSend


Juer:

Мне он больше не нужен. Я добавил в массив объекты, произвел потом нужные действия в этом массиве. Этот массив мне нужен был только в отдельной  функции.

Сами объекты мне нужны. Ну вот, надо же удалить объект массива, верно? Значит, сначала надо убрать из него объекты, а следом удалить. Вот каким методом правильнее очистить массив (не удаляя самих объектов)?

for(int i=0; i<ArraySize(arrayClass); i++)
     if( arrayClass[i] != NULL )
          delete arrayClass[i];
ArrayFree(arrayClass);
 

Ihor Herasko:

1. На этот вопрос я уже ответил вчера. Пожалуйста, не дублируйте вопросы.

2. Я отвечаю на один вопрос от одного человека в день.

3. Больше времени у меня нет.

4. я вообще не понимаю, для чего продолжаю отвечать на Ваши вопросы : )

1. и я Вам вчера ответил, что Ваш ответ неакдекватный : ) получается, я изначально вешал баршифт на пустой график?

2. меня не очень веселят такие игры : ) можно Вы просто сразу на всё ответите? это касается Ваших индюков; и я буду Вам бесконечно признателен, учитывая срочность ; ) На тот вопрос Вы так и не ответили, и сегодня нового ответа ни на что не дали ; ) вчера я Вам специально написал: пуши. на вопрос о пушах и нужно было отвечать в первую очередь : )

3. очевидно, есть, потому что Вы занимаетесь благотворительностью в этой теме ; )

4. наверное, потому, что это Ваши индюки и совы : )


 

Чем отличается OrderSend(...)>0 и просто OrderSend(...) ? Видел некоторые ставят OrderSend(...)<0.

В чем отличие? За что отвечает знаки сравнения?

 
Rustam Bikbulatov:

Чем отличается OrderSend(...)>0 и просто OrderSend(...) ? Видел некоторые ставят OrderSend(...)<0.

В чем отличие? За что отвечает знаки сравнения?

Поставьте курсор в редакторе на OrderSend и нажмите F1, и "О сколько нам открытий чудных ..." :)

 
Artyom Trishkin:

Поставьте курсор в редакторе на OrderSend и нажмите F1, и "О сколько нам открытий чудных ..." :)

там вроде нет ответа на счет знаков сравнения

 
Rustam Bikbulatov:

там вроде нет ответа на счет знаков сравнения

Что возвращает OrderSend?

Возвращает номер тикета, который назначен ордеру торговым сервером или -1 в случае неудачи. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

Это разве не ответ???
Причина обращения: