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

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

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

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

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

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

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

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

ну почему, если никто ему не мешает pas-модуль подключить к проекту
...
Рейтинг: 0 / 0
28.10.2021, 13:18
    #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
28.10.2021, 13:23
    #40107725
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать глобальную видимость
Кроик Семён,

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

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


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

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

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


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