Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / myform.a <> a, при том, что public a as integer - единственная переменная А в проекте. / 7 сообщений из 7, страница 1 из 1
04.05.2011, 11:04
    #37244941
Michael Melvin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
myform.a <> a, при том, что public a as integer - единственная переменная А в проекте.
В дочерней форме MyForm имею некоторую переменную NekotorayaPeremennaya.
Как может получиться такое, что
NekotorayaPeremennaya <> MyForm.NekotorayaPeremennaya
?
Пишу

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
public NekotorayaPeremennaya as integer
...
'в обработчике кнопки:
MyForm.NekotorayaPeremennaya =  8  
NekotorayaPeremennaya =  5 
debug.print MyForm.NekotorayaPeremennaya
' выдает 8
делаю переход к дефинишн от строки
NekotorayaPeremennaya = 5
Переходит в первую строку.

Делаю переход в дефинишн от строки
MyForm.NekotorayaPeremennaya = 8
Переходит в окно списка классов (которое вызывается нажатием F2). Там нахожу переменную NekotorayaPeremennaya в списке, делаю двойной щелчок - открывается этот же код программы и курсор стоит в первой строке
...
Рейтинг: 0 / 0
04.05.2011, 11:20
    #37244990
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
myform.a <> a, при том, что public a as integer - единственная переменная А в проекте.
Код: plaintext
Option Explicit

во всех модулях и классах форм нужно проставить.
...
Рейтинг: 0 / 0
04.05.2011, 12:48
    #37245203
Michael Melvin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
myform.a <> a, при том, что public a as integer - единственная переменная А в проекте.
Ответ - такое случается, если форму вызывать не напрямую по ее названию, а вызывать её копию
dim frm2 as new myform

после этого внутри frm2 переменные a и myform.a естественно будут отличаться.
...
Рейтинг: 0 / 0
04.05.2011, 12:56
    #37245225
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
myform.a <> a, при том, что public a as integer - единственная переменная А в проекте.
Michael MelvinОтвет - такое случается, если форму вызывать не напрямую по ее названию, а вызывать её копию
dim frm2 as new myform

после этого внутри frm2 переменные a и myform.a естественно будут отличаться.


это вы как умудрились так в VB 6.0 сделать?

Код: plaintext
dim frm2 as new myform
...
Рейтинг: 0 / 0
04.05.2011, 13:04
    #37245243
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
myform.a <> a, при том, что public a as integer - единственная переменная А в проекте.
недописал:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
'внутри формы Form1
Option Explicit
Public a As Integer


Private Sub Command1_Click()
Dim f2 As New Form1

a =  5 

f2.a = a
f2.Show

End Sub

Private Sub Form_Click()
    a =  10 
    MsgBox a
End Sub

Private Sub Form_Load()

MsgBox a

End Sub
...
Рейтинг: 0 / 0
04.05.2011, 13:05
    #37245246
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
myform.a <> a, при том, что public a as integer - единственная переменная А в проекте.
посмотрите что и как назначается. вы видимо неправильно понимаете жизненный цикл переменной
...
Рейтинг: 0 / 0
04.05.2011, 14:10
    #37245411
Michael Melvin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
myform.a <> a, при том, что public a as integer - единственная переменная А в проекте.
Да, спасибо, разобрался. Просто програмулина большая, и не моя))
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / myform.a <> a, при том, что public a as integer - единственная переменная А в проекте. / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]