Глобальные переменные

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

CrazyDude
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 28.09.2009 (Пн) 15:24

Глобальные переменные

Сообщение CrazyDude » 15.12.2009 (Вт) 19:04

Здравствуйте! Как в VB 2008 создавать глобальные переменные? Тоесть у меня есть 2 формы, 1 форма записует значение, потом когда нажимаешь кнопку, первая форма закрывается а вторая 2 отрывается и использует значение переменной из формы 1....

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Глобальные переменные

Сообщение Viper » 15.12.2009 (Вт) 19:12

Есть такая буква - Public, другая Shared вот сочетания этх двух и дает желаемое.
Весь мир матрица, а мы в нем потоки байтов!

CrazyDude
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 28.09.2009 (Пн) 15:24

Re: Глобальные переменные

Сообщение CrazyDude » 15.12.2009 (Вт) 19:28

Как я понял "Public Shared Bal As Byte" не правильно, можно пример?

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Глобальные переменные

Сообщение MIT » 15.12.2009 (Вт) 20:20

CrazyDude писал(а):а вторая 2 отрывается
Веселые у тебя там формы, однако :mrgreen:

Смотри, вариантов, на самом деле куча:
1) Создаль модуль, в нем объявить Public Bal As Byte
2) Если вторую форму создает первая, то можно объявить переменную во коде второй формы так: Public Bal As Byte
3) Можно объявить переменную в любой форме как Public Shared Bal As Byte, однако обращатся к ней надо не по имени экземпляра класса, а напрямую.
Т.е. если ты создаешь и отображаешь первую форму вот так
Код: Выделить всё
Dim MyFrm as New Form1
MyFrm.Show
то объявив переменную как Public Shared обращатся к ней надо Form1.Bal, а не MyFrm.Bal, ибо Shared.

Добавлено позже:
4) Можно создать сторонний класс и в нем объявить переменную как Public Shared Bal As Byte, при этом для доступа к ней не создавать экземпляра класса.

Что за ошибка, кстати?
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

CrazyDude
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 28.09.2009 (Пн) 15:24

Re: Глобальные переменные

Сообщение CrazyDude » 15.12.2009 (Вт) 20:27

MIT писал(а):
CrazyDude писал(а):а вторая 2 отрывается
Веселые у тебя там формы, однако :mrgreen:

Смотри, вариантов, на самом деле куча:
1) Создаль модуль, в нем объявить Public Bal As Byte
2) Если вторую форму создает первая, то можно объявить переменную во коде второй формы так: Public Bal As Byte
3) Можно объявить переменную в любой форме как Public Shared Bal As Byte, однако обращатся к ней надо не по имени экземпляра класса, а напрямую.
Т.е. если ты создаешь и отображаешь первую форму вот так
Код: Выделить всё
Dim MyFrm as New Form1
MyFrm.Show
то объявив переменную как Public Shared обращатся к ней надо Form1.Bal, а не MyFrm.Bal, ибо Shared.

Добавлено позже:
4) Можно создать сторонний класс и в нем объявить переменную как Public Shared Bal As Byte, при этом для доступа к ней не создавать экземпляра класса.

Что за ошибка, кстати?


Ну во первых я решил сделать так: Form3.Label2.Text = Bal.ToString, вместо того чтобы юзать глоб. переменную

"Что за ошибка, кстати" - ты это о чем?

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Глобальные переменные

Сообщение MIT » 15.12.2009 (Вт) 20:46

CrazyDude писал(а):Ну во первых я решил сделать так: Form3.Label2.Text = Bal.ToString, вместо того чтобы юзать глоб. переменную
:? Лейбл - это не переменная, это не место для хранения данных, а только лишь средство их отображения...

CrazyDude писал(а):"Что за ошибка, кстати" - ты это о чем?
Это я о том, что твой вопрос
Как я понял "Public Shared Bal As Byte" не правильно, можно пример?
подразумевает под собой то, что ты попробовал сделать что тебе подсказали, попровал разными путями и в разных местах, попробовал и перепробовал 10 раз, однако у тебя не получилось по причине какой-то ошибки, связанной, скорее всего, с неверным местом определения переменной. Вот я и спрашивал, что же за ошибка тебе мешает.
Но раз ошибки никакой нет, то, видимо, ты ничего не делал сам, а соответсвенно, просто хотел, что бы все сделали за тебя :roll:, а это некрасиво.


З.Ы. Оверквотинг - дело подсудное.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

CrazyDude
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 28.09.2009 (Пн) 15:24

Re: Глобальные переменные

Сообщение CrazyDude » 15.12.2009 (Вт) 23:24

MIT писал(а):
CrazyDude писал(а):Ну во первых я решил сделать так: Form3.Label2.Text = Bal.ToString, вместо того чтобы юзать глоб. переменную
:? Лейбл - это не переменная, это не место для хранения данных, а только лишь средство их отображения...

CrazyDude писал(а):"Что за ошибка, кстати" - ты это о чем?
Это я о том, что твой вопрос
Как я понял "Public Shared Bal As Byte" не правильно, можно пример?
подразумевает под собой то, что ты попробовал сделать что тебе подсказали, попровал разными путями и в разных местах, попробовал и перепробовал 10 раз, однако у тебя не получилось по причине какой-то ошибки, связанной, скорее всего, с неверным местом определения переменной. Вот я и спрашивал, что же за ошибка тебе мешает.
Но раз ошибки никакой нет, то, видимо, ты ничего не делал сам, а соответсвенно, просто хотел, что бы все сделали за тебя :roll:, а это некрасиво.


З.Ы. Оверквотинг - дело подсудное.


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

"Это я о том, что твой вопрос" ошибки никакой не было, просто не работало

Пробовал в разных местах с разными Public и Shared

Оверквотинг - не знаю о чем вы
[Viper] :: Оверквотинг есть избыточное цитирование. У тебя оно имеется в двух постах. По первости устное предупреждение.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 82

    TopList