|
|
|
Как работает пространство имен(namespace) в Delphi ?
|
|||
|---|---|---|---|
|
#18+
Уважаемые гуру, пожалуйста, объясните мне(недалекому), как работает пространство имен в Delphi ? Я честно вчитываюсь в документацию embarcadero: Using Namespaces with Delphi , но хоть по голове стучи, не могу понять, как это работает. Предположительно(по логике), это д.б. для организации видимости типов. Но разъяснения в Help какие-то абстрактные. Ничего не понятно. Кто разобрался в этой теме, пожалуйста, приведите пример namespace. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2019, 20:34 |
|
||
|
Как работает пространство имен(namespace) в Delphi ?
|
|||
|---|---|---|---|
|
#18+
Artem.1stно хоть по голове стучи, не могу понять, как это работает Это никак не работает. Нет в дельфях работающих пространств имён. В доке фигня написана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2019, 20:58 |
|
||
|
Как работает пространство имен(namespace) в Delphi ?
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeyНет в дельфях работающих пространств имён. В доке фигня написана. Вы это не серьезно. Вот официальная документация embarcadero: Using Namespaces with Delphi Только как использовать не понятно. Надеюсь, уважаемые форумчане подскажут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2019, 21:33 |
|
||
|
Как работает пространство имен(namespace) в Delphi ?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2019, 21:43 |
|
||
|
Как работает пространство имен(namespace) в Delphi ?
|
|||
|---|---|---|---|
|
#18+
В том адекватном виде в котором они существуют в других языках в Delphi их нет. Есть просто 1 файл =1 якобы неймспейс, который будет приставкой к типу, в случае если будет несколько типов с одинаковым именованием. Сделать 1 неймспейс = много юнитов и видимость в пределах неймспейса и подключение через System.* как-то не дожали... Может запилить в QC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2019, 23:00 |
|
||
|
Как работает пространство имен(namespace) в Delphi ?
|
|||
|---|---|---|---|
|
#18+
X-CiteВ том адекватном виде в котором они существуют в других языках в Delphi их нет. Кажется начинаю понимать. Поправьте, если ошибаюсь: namespace в Delphi - реализован неявно, как интерфейская часть unit -а. namespace в Delphi подключается через директиву Uses ... в Delphi нет иерархических namespace, они все одноуровневые, поэтому директива Uses часто многострочная и трудночитаемая. И вместо компактного vcl.* приходится перечилять длинные толмуды ... Classes, Forms, Graphics, Menus, Controls, StdCtrls, ActnLis,... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2019, 23:46 |
|
||
|
Как работает пространство имен(namespace) в Delphi ?
|
|||
|---|---|---|---|
|
#18+
Artem.1stИ вместо компактного vcl.* приходится перечилять длинные толмуды ... Classes, Forms, Graphics, Menus, Controls, StdCtrls, ActnLis,...жирно тролишь)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2019, 00:14 |
|
||
|
Как работает пространство имен(namespace) в Delphi ?
|
|||
|---|---|---|---|
|
#18+
asutp2жирно тролишь)))) Т.е. писать серьезную/техническую информацию - это тролить?! Я изучаю тему namespace, и мне нужны ответы. Буду признателен. На "тролить" или офтопик нет времени, сорри :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2019, 11:41 |
|
||
|
Как работает пространство имен(namespace) в Delphi ?
|
|||
|---|---|---|---|
|
#18+
Artem.1stasutp2жирно тролишь)))) Т.е. писать серьезную/техническую информацию - это тролить?! Я изучаю тему namespace, и мне нужны ответы. Буду признателен. На "тролить" или офтопик нет времени, сорри :-( дык нечего изучать-то в данном случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2019, 14:32 |
|
||
|
Как работает пространство имен(namespace) в Delphi ?
|
|||
|---|---|---|---|
|
#18+
Artem.1stИ вместо компактного vcl.* приходится перечилять длинные толмуды ... Classes, Forms, Graphics, Menus, Controls, StdCtrls, ActnLis,... Это не эффективно, если следишь за кодом в приложении, т.к. при vcl.* будет дохрена и больше мусора из-за того, что во многих модулях есть блок инициализации в котором создаются объекты для работы этого модуля. Вот нафига этот мусор если ты не пользуешся этим функционалом? И вот вспомнить не могу, когда я перечислял длинные толмуды в uses. Если есть что то списфисское (с) то делаешь шаблон, а потом его вызываешь клонируя или наследуясь и все это списфисское только 1 раз делаешь. А так то Делфя сама автоматом добавляет новые модули. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2019, 20:37 |
|
||
|
Как работает пространство имен(namespace) в Delphi ?
|
|||
|---|---|---|---|
|
#18+
AWSVladimirпри vcl.* будет дохрена и больше мусора из-за того, что во многих модулях есть блок инициализации в котором создаются объекты Дык, в нормальных языках NameSpace только для области видимости имен, и больше ни для чего. Это в Delphi гениально придумали совместить NameSpace(интерфейсный раздел модуля) с разделом инициализации, где создается код. Гениальность видна, ее не скроешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2019, 23:26 |
|
||
|
Как работает пространство имен(namespace) в Delphi ?
|
|||
|---|---|---|---|
|
#18+
Просто к имеющейся системе модулей прикрутили иерархию в названиях модулей через точку. Чисто декоративная фича. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2019, 11:07 |
|
||
|
Как работает пространство имен(namespace) в Delphi ?
|
|||
|---|---|---|---|
|
#18+
Василий 2Просто к имеющейся системе модулей прикрутили иерархию в названиях модулей через точку. Чисто декоративная фича. Ну, какбэ предполагалось, что там будет работать Ctrl+<пробел>, допустим начинаешь набирать Sys и в выпадающем списке вываливаются все (одын тука) юниты которые начинаются с Sys, после точки опять все юниты (SysUtils, Classes и т.п.). Вообще если хочется управлять областью видимости, то есть возможность управлять в рамках одного модуля Код: 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. Подключать разом все модули через uses vcl.* это слишком много получается. На практике обычно проблемой является не подключение всего чтоможеткогдатопонадобиться, а удаление неиспользуемых модулей после работы батонокидателей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2019, 12:06 |
|
||
|
Как работает пространство имен(namespace) в Delphi ?
|
|||
|---|---|---|---|
|
#18+
roschinspb, авторНу, какбэ предполагалось, что там будет работать Ctrl+<пробел>, допустим начинаешь набирать Sys и в выпадающем списке вываливаются все (одын тука) юниты которые начинаются с Sys, после точки опять все юниты (SysUtils, Classes и т.п.). так и работает вроде. cnpack нужно поставить только что. а неймспейсы - известный костыль для тех языков, у которых нет разделения на модули. правда, в последних версиях плюсов вроде одумались, собрались таки модули завезти, которые в паскале от рождения были ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2019, 13:49 |
|
||
|
Как работает пространство имен(namespace) в Delphi ?
|
|||
|---|---|---|---|
|
#18+
roschinspb, у меня так и уже давно. опции всякие, нечеткий поиск и так всяко: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2019, 14:09 |
|
||
|
Как работает пространство имен(namespace) в Delphi ?
|
|||
|---|---|---|---|
|
#18+
Artem.1st, правильно пишут, нету мелкая фича для либописателей, что бы названия с дикой топологией не делать в дельфи имена не наследуются модулем, так что основной проблемы для которой вводят namespace нету. Т.е. основная цель это избежании конфикта в названиях модулей. и цена тоже нехилая за тукую мелочь, пухнут блоки импорта\экспорта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2019, 14:09 |
|
||
|
Как работает пространство имен(namespace) в Delphi ?
|
|||
|---|---|---|---|
|
#18+
makhaonroschinspb, ... cnpack нужно поставить только ... Это не спортивно я про базовые возможности. Кстати любопытно как оно на случай где более 2 слов реагирует? Например System.Generics. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2019, 14:41 |
|
||
|
Как работает пространство имен(namespace) в Delphi ?
|
|||
|---|---|---|---|
|
#18+
оно странненько работает, иногда не работает ) но чаще - да но если набрать generics действительно покажет список System.generics.collections System.generics.defaults и вообще все что подходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2019, 15:11 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2039603]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
190ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 558ms |

| 0 / 0 |
