powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / как сделать глобальную видимость
14 сообщений из 14, страница 1 из 1
как сделать глобальную видимость
    #40107430
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TStringList * lst = new TStringList;
...
Рейтинг: 0 / 0
как сделать глобальную видимость
    #40107440
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mizer73,

Вынести в модуль, который подключить ко всем.

P.S. Зачем - не спрашиваю
...
Рейтинг: 0 / 0
как сделать глобальную видимость
    #40107447
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster
Mizer73,

Вынести в модуль, который подключить ко всем.

P.S. Зачем - не спрашиваю

так и в отдельном модуле он должен быть объявлен глобально.
в паблике.
...
Рейтинг: 0 / 0
как сделать глобальную видимость
    #40107458
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mizer73,

Не в "паблике", а в интерфейсной части.
...
Рейтинг: 0 / 0
как сделать глобальную видимость
    #40107469
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mizer73
extern TStringList * lst
TStringList * lst = new TStringList;
...
Рейтинг: 0 / 0
как сделать глобальную видимость
    #40107474
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу-ты, это же С++.

Mizer73, ты форумом промахнулся.
...
Рейтинг: 0 / 0
как сделать глобальную видимость
    #40107536
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat,

ну почему, если никто ему не мешает pas-модуль подключить к проекту
...
Рейтинг: 0 / 0
как сделать глобальную видимость
    #40107723
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mizer73,

Я предпочитаю не переменную-ссылку на объект делать глобальной, а, наоборот, прятать её, а наружу выводить через функцию.
Этим гарантируется, что никто ни в каком модуле не перепишет ссылку, т.к. сама ссылка получается в этом случае для всех read-only. Дополнительно, если хочется, можно ссылку вообще не инстанцировать при запуске программы, а делать это лишь при первом обращении к функции.

Например, такое

Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
UNIT frxPrinter;

INTERFACE

...
function frxPrinters(): TfrxPrinters;


IMPLEMENTATION

...

var
  FPrinters: TfrxPrinters = nil;


function frxPrinters(): TfrxPrinters;
begin
  if FPrinters = nil then
    FPrinters := TfrxPrinters.Create;

  Result := FPrinters;
end;


INITIALIZATION
  FPrinters := nil;

FINALIZATION
  if FPrinters <> nil then
    FPrinters.Free;

  FPrinters := nil;

END.
...
Рейтинг: 0 / 0
как сделать глобальную видимость
    #40107725
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён,

IMHO еще лучше сделать через class var или class function.
...
Рейтинг: 0 / 0
как сделать глобальную видимость
    #40107810
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кроик Семён
Mizer73,

Я предпочитаю не переменную-ссылку на объект делать глобальной, а, наоборот, прятать её, а наружу выводить через функцию.
Этим гарантируется, что никто ни в каком модуле не перепишет ссылку, т.к. сама ссылка получается в этом случае для всех read-only. Дополнительно, если хочется, можно ссылку вообще не инстанцировать при запуске программы, а делать это лишь при первом обращении к функции.


В FPC для подобного сделали unit property, прикольная штука. Хоть и сахар
...
Рейтинг: 0 / 0
как сделать глобальную видимость
    #40107885
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён,

а ещё лучше генерик сделай
Код: pascal
1.
CreateOnce<T: TObject> 
...
Рейтинг: 0 / 0
как сделать глобальную видимость
    #40107900
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
а ещё лучше генерик сделай
В Делфи дженерик-функции нельзя объявить. Только дженерик-методы.
...
Рейтинг: 0 / 0
как сделать глобальную видимость
    #40107905
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,

у ТС же ж не Delphi.
...
Рейтинг: 0 / 0
как сделать глобальную видимость
    #40107942
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
kealon(Ruslan)
а ещё лучше генерик сделай
В Делфи дженерик-функции нельзя объявить. Только дженерик-методы.
ну объяви метод в хелпере к TObject
вы часто в процах пишете?
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / как сделать глобальную видимость
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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