Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как исключить из проекта использование глобальных перемен / 25 сообщений из 29, страница 1 из 2
21.11.2018, 06:22
    #39735901
AdamAry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
Как исключить из проекта использование глобальных перемен?
...
Рейтинг: 0 / 0
21.11.2018, 06:46
    #39735906
LocksmithPC
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
AdamAry, чем плохи глобальные переменные?
...
Рейтинг: 0 / 0
21.11.2018, 06:48
    #39735907
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
Никак. Глобальные переменные массово присутствуют в RTL.
...
Рейтинг: 0 / 0
21.11.2018, 08:47
    #39735926
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
AdamAry,

обычно от глобальных стоит избавляться. есть некоторые специальные случаи, когда они удобны и допустимы. единственный способ не делать их глобальными - сделать их локальными :) ищи место, где они могут стать локальными.
...
Рейтинг: 0 / 0
21.11.2018, 08:56
    #39735931
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
AdamAryКак исключить из проекта использование глобальных перемен?перепиши RTL, не используй VCL и вообще все либы от борланда\ембы
...
Рейтинг: 0 / 0
21.11.2018, 09:03
    #39735933
Дегтярев Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
kealon(Ruslan)AdamAryКак исключить из проекта использование глобальных перемен?перепиши RTL, не используй VCL и вообще ...
перепиши проект на java ))
...
Рейтинг: 0 / 0
21.11.2018, 09:55
    #39735952
Beltar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
Можно, в принципе сделать класс и насовать в него class var. Или не class var, но тогда надо будет экземпляр создавать. Будет то же самое, глобальный класс (по-моему, это называется Singleton) но так они хотя бы будут сгруппированы и недоступны иначе как через ClassName.VarName (что это начинает раздражать).
...
Рейтинг: 0 / 0
21.11.2018, 11:12
    #39735985
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
BeltarМожно, в принципе сделать класс и насовать в него class var. Или не class var, но тогда надо будет экземпляр создавать. Будет то же самое, глобальный класс (по-моему, это называется Singleton) но так они хотя бы будут сгруппированы и недоступны иначе как через ClassName.VarName (что это начинает раздражать).это из разряда
автор- как уменьшить преступность?
- а давайте просто исключим из законов за что наказывать
...
Рейтинг: 0 / 0
21.11.2018, 11:20
    #39735997
L_argo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
AdamAryКак исключить из проекта использование глобальных перемен?Перейти в проект, где их нет.
Или сразу уйти в продавцы пылесосов... :)
...
Рейтинг: 0 / 0
21.11.2018, 11:33
    #39736006
Beltar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
Вы знаете, но иногда это не самый плохой способ, только цель его не снизить преступность, а занять правоохранительные органы, чем-то более важным.

Вот и тут можно вопрос поставить, какая цель исключения глобальных переменных? Если, например, устранение угрозы их случайного перекрытия, то введение префикса в виде имени класса, или какой-нить лабуды типа globMyVar может помочь. ЕМНИП именно для этого и была предложена венгерская нотация, которую тут же превратили в трансильванскую ересь вида lpstr_my_string.

Если просто чтобы убрать, ну не знаю. С таким же успехом можно из квартир газовые плиты убрать, а то еще взрыв будет, вот только без них никак. Или автомобили с дорог, а то в аварии попадают.
...
Рейтинг: 0 / 0
21.11.2018, 11:50
    #39736021
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
проще, наверно, на примере.

было:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
type
 TForm3 = class(TForm)
  Button1: TButton;
  procedure Button1Click(Sender: TObject);
 private
  { Private declarations }
 public
  { Public declarations }
 end;

var
 Form3: TForm3;

implementation

{$R *.dfm}

var
 Test: string;

procedure TForm3.Button1Click(Sender: TObject);
begin
 Test := 'test';
 ShowMessage(Test);
end;



стало:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
type
 TForm3 = class(TForm)
  Button1: TButton;
  procedure Button1Click(Sender: TObject);
 private
  FTest: string;
  { Private declarations }
 public
  { Public declarations }
 end;

var
 Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);
begin
 FTest := 'test';
 ShowMessage(FTest);
end;
...
Рейтинг: 0 / 0
21.11.2018, 12:27
    #39736045
ma1tus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
makhaon,

а var Form3 ?
...
Рейтинг: 0 / 0
21.11.2018, 12:28
    #39736047
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
AdamAryКак исключить из проекта использование глобальных перемен?
Устроится работать грузчиком, а не программистом.
...
Рейтинг: 0 / 0
21.11.2018, 13:22
    #39736085
Wlr-l
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
AdamAryКак исключить из проекта использование глобальных перемен?

Очень плохая практика, когда локальные переменные модуля определяют между

var
Form3: TForm3;

и

implementation, например, так

var
Form3: TForm3;
Test: string;

implementation

Лучше определить все действительно глобальные переменные в одном модуле.
...
Рейтинг: 0 / 0
21.11.2018, 13:51
    #39736109
Dimonka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
AdamAryКак исключить из проекта использование глобальных перемен?Можно административным способом: Объявил глобальную переменную - минус 50% зарплаты и плюс отработка в виде разобъявления глобальной переменной.

Проект видно какой-то государственной важности, так что метод как раз подойдёт.

p.s.
Глядишь, так молодые "программисты" за пару часов работы будут должны свою зарплату на годы вперёд.
...
Рейтинг: 0 / 0
21.11.2018, 14:17
    #39736139
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
ma1tus,

а зачем?
...
Рейтинг: 0 / 0
21.11.2018, 16:00
    #39736222
ma1tus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
makhaon,

для экономии денег/времени, как вариант - в одном месте в неё объект создали, в другом создали, в первом за nil или/грохнули... следить ещё за ней, nilить в деструкторе / инициализации, потом проверять - перед тем, как... ну и, отсюда, не провоцировала дабы мимо self, существованием... имхо
...
Рейтинг: 0 / 0
21.11.2018, 16:05
    #39736229
Гирлионайльдо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
Дегтярев Евгенийkealon(Ruslan)пропущено...
перепиши RTL, не используй VCL и вообще ...
перепиши проект на java ))

И наслаждайся заполнением ОЗУ минимум 50 мб "Hello World" Так как там настолько всё структурировано, что непонятно куда приложение жрёт уже под пол гига

Что на том же QT кушает не больше 10 мб
...
Рейтинг: 0 / 0
21.11.2018, 16:07
    #39736232
Гирлионайльдо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
BeltarЕС таким же успехом можно из квартир газовые плиты убрать, а то еще взрыв будет, вот только без них никак.

Даже если уберёшь, взрыв будет у твоих сокамерников по падикам в доме. Это включая 3 подъезда

... Индукция!!! Индукция правит миром!!! И другие подобные технологии
...
Рейтинг: 0 / 0
21.11.2018, 17:34
    #39736289
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
ma1tus,

ок, если это тебе всё нужно - делай. обычно неупоротые юзеры формы не скрывают.
...
Рейтинг: 0 / 0
21.11.2018, 17:52
    #39736318
ma1tus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
makhaonок, если это тебе всё нужноэмм... в том и дело, что - нет, не нужно. спилить и заморочек нет. makhaonобычно неупоротые юзеры формы не скрываютне понял, ну ладно, ок так ок )
...
Рейтинг: 0 / 0
22.11.2018, 06:22
    #39736511
Дегтярев Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
ГирлионайльдоИ наслаждайся заполнением ОЗУ минимум 50 мб "Hello World"
вы нолем не ошиблись?
...
Рейтинг: 0 / 0
22.11.2018, 06:24
    #39736513
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
Не, ну 500мб - это ты загнул.
...
Рейтинг: 0 / 0
22.11.2018, 06:25
    #39736514
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
Для этого "Hello World" надо из под IBM WebSphere запустить.
...
Рейтинг: 0 / 0
22.11.2018, 08:13
    #39736533
Дегтярев Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исключить из проекта использование глобальных перемен
rgreatНе, ну 500мб - это ты загнул.
за формочки не скажу, а вот у коллег сервисам на spring boot надо мин 250, а лучше 500
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как исключить из проекта использование глобальных перемен / 25 сообщений из 29, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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