powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как исключить из проекта использование глобальных перемен
25 сообщений из 29, страница 1 из 2
Как исключить из проекта использование глобальных перемен
    #39735901
AdamAry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как исключить из проекта использование глобальных перемен?
...
Рейтинг: 0 / 0
Как исключить из проекта использование глобальных перемен
    #39735906
Фотография LocksmithPC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdamAry, чем плохи глобальные переменные?
...
Рейтинг: 0 / 0
Как исключить из проекта использование глобальных перемен
    #39735907
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак. Глобальные переменные массово присутствуют в RTL.
...
Рейтинг: 0 / 0
Как исключить из проекта использование глобальных перемен
    #39735926
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdamAry,

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

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

Если просто чтобы убрать, ну не знаю. С таким же успехом можно из квартир газовые плиты убрать, а то еще взрыв будет, вот только без них никак. Или автомобили с дорог, а то в аварии попадают.
...
Рейтинг: 0 / 0
Как исключить из проекта использование глобальных перемен
    #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
Как исключить из проекта использование глобальных перемен
    #39736045
ma1tus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon,

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

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

var
Form3: TForm3;

и

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

var
Form3: TForm3;
Test: string;

implementation

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

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

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

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

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

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

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

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

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

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


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