Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Visual Basic 6

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9

Открыть новую тему     Написать ответ в эту тему

jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я тоже так думал.
Но! Если изменить написание идентификатора переменной в процедуре Proc1 (например, сделав буквы заглавными), то тут же изменится начертание идентификатора в процедуре Proc2. С чего бы это?

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 22:58 11-08-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976
А это скорее всего значит, что где-то обявлена public с таким именем. Или dim в этом же модуле на высшем уровне.
Без кода такое не найти.
Кликни правой мышкой на имени переменной и выбери Definition. Сразу будет видно где объявлена.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 00:14 12-08-2009 | Исправлено: dneprcomp, 00:15 12-08-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp
Вот код модуля:

Код:
Option Explicit
 
Sub Proc1()
Dim Abc As Integer
 
End Sub
 
 
Sub Proc2()
Dim Abc As Integer
 
End Sub

 
Всё, больше ничего в проекте нет! Меняем abc в процедуре Proc1 на Abc и видим результат: в процедуре Proc2 переменная abc также изменилась на Abc.

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 23:40 12-08-2009 | Исправлено: jek1976, 23:44 12-08-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976
Да, действительно. Никогда не обращал внимания. Как-то не приходилось.
Так называемые, глюки обыкновенные...  Или просто издержки внутреней реализации.
Но в любом случае, если в дебаге проследить, то переменная внутри sub равна 0 при старте  Sub.
Т.е. уровень видимости переменых отслеживается четко.

Код:
 
'form
Private Sub Command1_Click()
 MsgBox abc
abc = 13
 MsgBox abc
Proc1
 MsgBox abc
Proc1
 MsgBox abc
End Sub
____________________________
 
'module
Option Explicit
 
Public abc As Integer
 
Sub Proc1()
Dim abc As Integer
 MsgBox abc
End Sub
 
 
Sub Proc2()
Dim abc As Integer
 MsgBox abc
 
End Sub
 

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 00:00 13-08-2009 | Исправлено: dneprcomp, 00:05 13-08-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, глюк. Хотя такого быть категорически не должно.
Этот глюк присутствует, если даже переменные - разные по сути, т.е., например, типа Integer и String, а не только Integer и Integer.

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 00:22 13-08-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976
Но скоп все же работает. А это более важно.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 00:46 13-08-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Согласен.

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 00:58 13-08-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp
Приветствую! Давно я не был на форуме.
 
Есть две открытые формы. Сформировав (в полях TextBox, ComboBox и прочих) на одной из этих форм набор значений, состоящий из нескольких переменных (типа Integer и String), закрываем данную форму. Теперь возникает вопрос: каким образом при закрытии первой формы можно передать значения этих нескольких переменных второй форме? Наиболее очевидный вариант - передача с помощью заранее объявленных глобальных переменных - не рассматриваем. Есть ли еще какие-нибудь методы передачи (DDE и проч.), стабильные при использовании?

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 03:20 21-08-2009 | Исправлено: jek1976, 03:24 21-08-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976
Привет, привет! А если бы меня здесь не стояло?  
Ты так обращаешься, как будто подошел, а я тут на лавочке уже сижу
 

Цитата:
передача с помощью заранее объявленных глобальных переменных - не рассматриваем
А что ж так сурово? Можно ведь просто объявить public в модуле вместо global
Можно объявить во второй форме переменные как public и заполнять их из первой.
Можно заполнять какие-нибудь контролы на второй форме из первой.
Хочется экзотики вместо нормальных public в модуле - заносим значения хоть в реестр, хоть в ini.  
Или просто по мылу с первой на вторую
 
Но учитывай, что при упоминании любого объекта или переменной его форма будет немеленно загружена и показана. А заодно oтработают все ивенты на загрузку.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 04:54 21-08-2009 | Исправлено: dneprcomp, 04:58 21-08-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А если бы меня здесь не стояло?  
Ты так обращаешься, как будто подошел, а я тут на лавочке уже сижу  

Надеюсь, не обидел... Прости.
 
 
Добавлено:

Цитата:
Но учитывай, что при упоминании любого объекта или переменной его форма будет немеленно загружена и показана.

То есть если я из первой формы (активной, на которой есть "фокус") обращаюсь к свойству элемента второй формы (показанной на экране, но в данный момент - неактивной, т.е. без "фокуса"), то первая форма автоматом получит фокус и будет полностью показана на экране (к сожалению, самостоятельно это проверить временно не имею возможности)?

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 05:22 21-08-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976

Цитата:
Надеюсь, не обидел... Прости.

Да за что же? Просто это звучало так, как будто я неотъемлемая часть скрипта форума.  
Ну такой себе локальный Матрикс с внедренным функционалом
BTW. У тебя что, графика отключена? Там же везде смайлы стоят.
 

Цитата:
первая форма автоматом получит фокус и будет полностью показана на экране
Совсем даже нет. Если форма уже загружена(лоад прошел), то все обращения к ней не меняют ее состояния. А вот обращения до лоада немедленно загружают форму. И, соответственно, отрабатывает все с этим связанное.
 

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 06:21 21-08-2009 | Исправлено: dneprcomp, 06:29 21-08-2009
Rudolff68

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите п-ста юному  программисту как это вылечить ?
 
Private Sub Command1_Click()
Text1.Text = "Êóäîëüô-êëàññíûé ïðîãðàììèñò"
End Sub
 
в окне кода не отображаются русские буквы.

Всего записей: 2 | Зарегистр. 25-12-2009 | Отправлено: 10:59 25-12-2009 | Исправлено: Rudolff68, 11:02 25-12-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rudolff68
А поддержка русского с клавиатурой и русскими фонтами в системе установлена?
И кстати, как эти коды попали в Text1.Text? Если были откуда-то скопированы и вставлены, то сами собой они при paste не конвертнуться в русский. Даже если установлена поддержка.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 20:02 25-12-2009
Rudolff68

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
разобрался уже, спасибо. в опциях -формат редактора поставил шрифт с приставкой CYR. Начинающий....

Всего записей: 2 | Зарегистр. 25-12-2009 | Отправлено: 00:50 26-12-2009
Maza_Faka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Привет всем!
Имеется ли в Microsoft Visual Basic поддержка мультипоточности?

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 11:59 05-01-2010
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maza_Faka
Только используя API
 
http://www.freevbcode.com/ShowCode.asp?ID=1287
 
http://www.google.com/search?hl=en&source=hp&q=vb6+Multi-Thread&btnG=Google+Search&aq=f&oq=&aqi=

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 21:55 05-01-2010 | Исправлено: dneprcomp, 21:56 05-01-2010
skif21

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день ребята!
Попался проект, его надо перекомпилировать, нок сожалению проект до конца не грузиться в среду. Жалуется на невозможность загрузить файл SchtFakt.dsr. В логе пишется сообщения:
Line 2: Class {9EB8768B-CDFA-44DF-8F3E-857A8405E1DB} of control SchtFakt was not a loaded control class.
Line 0: The file C:\ShadowPrint\SchtFakt.Dsr could not be loaded.
 
Ребята - что эта за файл и как жеж его все таки загрузить?  
Если необходимо - вот сам проект http://budelektro.ru/files/ShadowPrint.rar

Всего записей: 174 | Зарегистр. 03-09-2006 | Отправлено: 08:35 26-05-2010
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skif21
Вот то что MISSING, того и не хватает.
И была эта библиотека/контрол установлена на D:\ драйв  

 
data dynamics activereports 2.0
 
А вообще, dsr это расширение Crystal Report. Думаю, что если нет инстала data dynamics activereports , то вероятно можно использовать сам Crystal Report. Подключив его библиотеки. Или выкинуть репортную часть, если можно без нее обойтись.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 09:45 26-05-2010 | Исправлено: dneprcomp, 10:01 26-05-2010
skif21

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Огромное спасибо! Сейчас буду действовать.

Всего записей: 174 | Зарегистр. 03-09-2006 | Отправлено: 09:58 26-05-2010
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skif21
Нет проблем, potok21  

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 10:03 26-05-2010 | Исправлено: dneprcomp, 10:05 26-05-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Visual Basic 6


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru