powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / myform.a <> a, при том, что public a as integer - единственная переменная А в проекте.
7 сообщений из 7, страница 1 из 1
myform.a <> a, при том, что public a as integer - единственная переменная А в проекте.
    #37244941
Michael Melvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В дочерней форме 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
myform.a <> a, при том, что public a as integer - единственная переменная А в проекте.
    #37244990
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Option Explicit

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

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

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


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

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

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


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