Dim vs Public

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 13.01.2005 (Чт) 11:34

ИМХО НЕТ!

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 13.01.2005 (Чт) 12:59

далей по правилу наименьших привелегий, тоесть DIM, хотя ты, вероятно, бъявляешь на уровне класса или модуля, тады лучше Private или Friend
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.01.2005 (Чт) 13:02

По уровню привилегий dim то же, что и private. Сделать публичной переменную процедуры и так нельзя. А friend к переменным неприменимо (а зря, кстати...).
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: Dim vs Public

Сообщение tyomitch » 13.01.2005 (Чт) 13:11

Roman Koff писал(а):Есть ли разница с точки зрения быстродействия и используемых ресурсов при объявлении переменной через Dim и Public.

И есть ли разница между Public и Global?

1. Dim на уровне модуля - то же, что Private (никакой разницы вообще).
2. Global - то же, что Public (никакой разницы вообще).
Изображение

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 13.01.2005 (Чт) 13:13

блин, я с .НЕТОМ и забыл какие тут косяки(((
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.01.2005 (Чт) 13:42

Является правильным разбивать программу на блоки по смыслу.
При этом количество глобальных переменных обратно пропорционально красоте стиля...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 13.01.2005 (Чт) 13:44

Roman Koff писал(а):Я не спрашиваю кто на каком уровне работает, эти и так понятно, я имею ввиду, какой код будет эффективнее.

Является ли правильным разбивать программу на разные модули и обмениваться общими данными через публичные переменные или по возможности код реализовать одним модулем?


Так размышления: если первое, то напоминает элементы ООП, а если второе - обычное программирование.
Лично давно перешёл на первое

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.01.2005 (Пт) 3:48

Публичные переменные модулей - быстрые. Такие же быстрые, как приватные.
Так что разбивай на модули.
Изображение

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 14.01.2005 (Пт) 11:26

Вообще считается, что самые быстрые переменные - статические. Но, они действуют только в пределах той функции, внутри которой объявлены - ограничение довольно сильное, но таков их принцип.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.01.2005 (Пт) 14:35

Думаю, что локальные переменные - не медленнее статических. Единственное, что дополнительное время тратится на их очистку при каждом заходе в функцию. А больше разницы вроде и нет...
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.01.2005 (Пт) 14:36

Согласен, ибо хранятся там же и так же...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.01.2005 (Пт) 14:39

Не там же и не так же :-)
Локальные - в стеке, а статические - в BSS (или как там по-умному называется блок неинициализированных данных?)
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.01.2005 (Пт) 14:50

Я не про локальные и статические, а про статические и глобальные :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.01.2005 (Пт) 14:56

Угу. Тогда согласен :-)
Из твоего поста, кстати, не следовало явно, о чём он именно ;-)
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.01.2005 (Пт) 14:59

Sapienti sat :wink:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

    TopList