|
Процедуры с параметрами
|
|||
---|---|---|---|
#18+
Добрый день уважаемые! Проведите пожалуйста ликбез(( Вот простейшая процедура с параметрами. Она передает переменным VB,NB,Vtek значения , но как только переходит в процедуру Moduli_rascheta, эти переменные становятся =0((( Есть возможность их объявить в процедуре Raschet_na_deni так, чтобы они были видны и в др.? Код: vbnet 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2015, 14:07 |
|
Процедуры с параметрами
|
|||
---|---|---|---|
#18+
vdekameronПроведите пожалуйста ликбезИзучите, наконец, уже тему "область видимости переменной". Зачем повторять учебник в топике? vdekameronЕсть возможность их объявить в процедуре Raschet_na_deni так, чтобы они были видны и в др.?нет. передавайте их явно ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2015, 14:22 |
|
Процедуры с параметрами
|
|||
---|---|---|---|
#18+
vdekameronно как только переходит в процедуру Moduli_rascheta, эти переменные становятся =0эти переменные не становятся равны нулю, они вообще не видны в процедуре Moduli_rascheta. Чтобы это понять, используйте Option Explicit, я же уже просил об этом. Тогда и вопросы ненужные отпадут сами собой. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2015, 14:24 |
|
Процедуры с параметрами
|
|||
---|---|---|---|
#18+
Shocker.Pro, Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2015, 14:25 |
|
Процедуры с параметрами
|
|||
---|---|---|---|
#18+
Я их объявил явно вверху и в процедуре. сделал - Option explicit. И когда переходит в процедуру Moduli_rascheta они именно равны 0 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2015, 14:32 |
|
Процедуры с параметрами
|
|||
---|---|---|---|
#18+
vdekameronЯ их объявил явно вверху и в процедуре. сделал - Option explicit. И когда переходит в процедуру Moduli_rascheta они именно равны 0Не верим на слово, верим коду. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2015, 14:34 |
|
Процедуры с параметрами
|
|||
---|---|---|---|
#18+
AntonariyНе верим на слово, верим коду. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2015, 14:49 |
|
Процедуры с параметрами
|
|||
---|---|---|---|
#18+
эта переменная сама по себе vdekameron Код: vbnet 1.
эта переменная сама по себе vdekameron Код: vbnet 1.
Это РАЗНЫЕ переменные, они просто имеют одинаковые имена. Можешь дать им разные имена, чтобы было понятнее ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2015, 14:53 |
|
Процедуры с параметрами
|
|||
---|---|---|---|
#18+
vdekameron Код: vbnet 1.
Нажми правой кнопкой на NB и выбери пункт Definition. VB покажет тебе, где объявлена твоя переменная ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2015, 14:54 |
|
Процедуры с параметрами
|
|||
---|---|---|---|
#18+
Shocker.Proони просто имеют одинаковые имена. Извините конечно, что раздражаю вас простейшими вопросами, но как это может быть, разве в таких случаях VB6 не должен ругаться, что мол совпадение имен. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2015, 14:57 |
|
Процедуры с параметрами
|
|||
---|---|---|---|
#18+
Не извиню, я же сказал Shocker.ProИзучите, наконец, уже тему "область видимости переменной". Зачем повторять учебник в топике?, а вы опять пытаетесь получить учебник на форуме. Поведение переменных с одинаковыми именами в разных областях видимости четко регламентировано ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2015, 15:02 |
|
Процедуры с параметрами
|
|||
---|---|---|---|
#18+
Shocker.ProНе извиню, я же сказал Казнить нельзя, миловать) У меня нету этого учебника. Я только ЗА почитать. Говорил уже вам что сейчас Лукина читаю. Там такого нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2015, 15:04 |
|
Процедуры с параметрами
|
|||
---|---|---|---|
#18+
Ок. Если имена переменных пересекаются, приоритет имеет переменная с наименьшей областью видимости. То есть внутри процедуры Raschet_na_deni под VB будет подразумеваться параметр процедуры, а не переменная модуля с тем же именем. Глобальный совет. Сведите использование глобальных переменных к минимуму, в идеале их не должно быть вообще (разве что глобальные настройки, глобальные константы типа Пи, но не рабочие переменные). Каждая процедура в идеале должна работать как черный ящик - получать на входе параметры и выдавать наружу результат (если он есть), она не должна зависеть от каких-то глобальных переменных и ничего не должна знать о том, кто ее вызывает. То есть процедуре должно быть все равно, в каком проекте она находится и кто ее вызвал, ее задача принять данные и выдать результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2015, 15:13 |
|
Процедуры с параметрами
|
|||
---|---|---|---|
#18+
Shocker.ProГлобальный совет. Сведите использование глобальных переменных к минимуму Ну значит я изначально сделал правильно! А сейчас просто прочитал в этой книге про процедуры с параметрами и решил переделать. Спасибо за хороший совет! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2015, 15:45 |
|
|
start [/forum/topic.php?fid=60&msg=38864340&tid=2156054]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 314ms |
total: | 437ms |
0 / 0 |