Инициализация глобальных переменных программы и другие полезные знания. - страница 2

 
Renat Akhtyamov:

Господа, прекращайте перебранку.

Давайте разберемся.

Выкопировка принтов с журнала есть?

Приложенная тестовая программа вообще-то не принтует ничего.

Она на каждом тике увеличивает значения глобальных переменных, инициализированных разными способами в разных местах программы, и выводит комментарии с описанием того, как была инициализирована переменная, и какое значение она имеет на каждом тике.

Далее стоит просто переключить таймфрейм чтобы сразу было видно какой метод инициализации привоит к потере значения переменной (её обнулению), а какой не приводит.

Куда ж ещё проще?

 
Renat Akhtyamov:

Господа, прекращайте перебранку.

Давайте разберемся.

Выкопировка принтов с журнала есть?

Замените Comment на Print

самому сделать не судьба?

программа поставляется "как есть" -- ставьте сами Print() -- приводите свои решения -- написано же в главном топике:

Artyom Trishkin:

Думаю, в этой теме можно будет делиться некими знаниями и опытом как всё же правильно выполнять те, или иные действия в ваших программах.

 
Vladimir Karputov:
Вы с Артёмом любите выкусывать контент. Сказанное относилось к конкретному коду. И без инициализации код работал (стартовал) в зеркальном отражении.

как вы сказали -- так вас поняли и так вас процитировали.

а вы сказали следующее: "обязательно в OnInit() нужно явно проинициализировать" -- что не верно.

не верно ни в том процитированном контексте, ни в каком другом. 

p.s. не верно принципиально и артём своей программой дал возможность новичкам разобраться в вопросе детально и обстоятельно. 

 
Vladimir Karputov:
Вы с Артёмом любите выкусывать контент. Сказанное относилось к конкретному коду. И без инициализации код работал (стартовал) в зеркальном отражении.

Почему вы тогда сразу там, в той теме, не сказали, что ваше утверждение об обязательной инициализации в OnInit() переменной, объявленной в глобальном пространстве и, как вам показалось, не инициализированной, относится лишь только к данному частному случаю?

Вы этого не сделали лишь потому, что не знали о таком поведении глобальной переменной, и утверждали далее, что не инициализация её в OnInit() приведёт к потере денег.

Таким образом вы ввели в заблуждение человека, и его программа могла терять данные при переключении таймфрейма. Именно на это я и указал. Я сделал что-то плохое?

Вы об этом не знали, теперь знаете. Просто скажите спасибо и спрячьте вашу желчь - она тут ни к чему. Зачем вы пытаетесь заспамить хорошую полезную тему?

 
Andrey F. Zelinsky:

как вы сказали -- так вас поняли и так вас процитировали.

а вы сказали следующее: "обязательно в OnInit() нужно явно проинициализировать" -- что не верно.

не верно ни в том процитированном контексте, ни в каком другом. 

Два любителя выкусывать контент. Всё прекращаю подымать тему, тем более птички за окном каркают - утро вестимо настаёт.
 
Vladimir Karputov:
Два любителя выкусывать контент. Всё прекращаю подымать тему, тем более птички за окном каркают - утро вестимо настаёт.

счастливо -- только не ложитесь спать под каркающими птицами -- так понял, у вас за окном каркают вороны

 
Andrey F. Zelinsky:

самому сделать не судьба?

программа поставляется "как есть" -- ставьте сами Print() -- приводите свои решения -- написано же в главном топике:

Господа, Вы кому и что хотите доказать?

Раскройте для начала вопрос ветки, но не таким же способом - типо иди и делай.

Я в таком случае вообще не буду никогда обращать внимание на ветки, посты под вашими никами.

 
Renat Akhtyamov:

Господа, Вы кому и что хотите доказать?

Раскройте для начала вопрос ветки, но не таким же способом - типо иди и делай.

Я в таком случае вообще не буду никогда обращать внимание на ветки, посты под вашими никами.

В одну ветку Артема я уже с сегодняшнего дня не пишу.

Если инициализировать глобальную переменную не в области глобальных переменных, а в OnInit(), то при смене таймфрейма такая переменная будет терять своё значение.

Что и показывает программа.

И, да, никто не вправе вас заставить писать туда, или сюда. Вы сами выбираете какие знания хотите получать, и какими своими знаниями хотите делиться.

У Владимира тоже есть ветка для вопросов новичков, но в ней несколько не верные знания даются. Пишите в неё - ваше же право

 
Artyom Trishkin:

Если инициализировать глобальную переменную не в области глобальных переменных, а в OnInit(), то при смене таймфрейма такая переменная будет терять своё значение.

Что и показывает программа.

И, да, никто не вправе вас заставить писать туда, или сюда. Вы сами выбираете какие знания хотите получать, и какими своими знаниями хотите делиться.

У Владимира тоже есть ветка для вопросов новичков, но в ней несколько не верные знания даются. Пишите в неё - ваше же право

А нельзя чтоли было это же самое попроще объяснить.

К примеру не в глобальных переменных, а в init() задаем:

int i;

И пытаемся воспользоваться в коде этой переменной.

Компилятор вывалит ошибку о том, что переменная i не определена.

Этого УЖЕ более чем достаточно чтобы подтвердить суть написанного выше.

Желаю Вам достичь взаимопонимания страниц за 200.

 
Renat Akhtyamov:

А нельзя чтоли было это же самое попроще объяснить.

К примеру не в глобальных переменных, а в init() задаем:

int i;

И пытаемся воспользоваться в коде этой переменной.

Компилятор вывалит предупреждение.

Этого УЖЕ более чем достаточно чтобы подтвердить суть написанного выше.

Желаю Вам достичь взаимопонимания страниц за 200.

Это вы как раз ничего не поняли из того, о чём тут речь. От слова "совсем".