Кто-нибудь знает, как сделать пространство имён?

Мне вот интересует подобная вещь, как вот в System есть Windows или Environment) Будьте добры, подскажите :blush:

Никак. В PascalABC.NET нет явных пространств имён.

Очень жаль, а есть какая-нибудь возможность объединить несколько классов во что-нибудь одно внутри одного модуля, например несколько классов в один класс?

разве что со статическими полями

type
  aT = class
  
  end;
  bT = class
  
  end;
  c = record
    class a := new aT;
    class b := new bT;
  end;

ну это не совсем то, статистические методы тогда надо писать как обычные, а обычные вообще никак

Концепция сквозных пространств имен очень плохо ложится на паскалевские модули, где модуль это единица компиляции и одновременно пространство имен. Поэтому их нет в языке и наверное не будет.

Разве что так писать: type System.Windows.Forms.Form = class end;

Описание класса образует пространство имен.

На самом деле без этого жить вполне можно. Вовсе не обязательно из паскаля делать очередной С, подключая единовременно сто различных модулей.

мож я что то не понял но так паскаль ругается на .

Зачем же тогда слово namespace добавили в язык, если оно, как я понимаю, не несет никакой функциональности?

несет. пространства имен описываются так же как и модули.

namespace MyF.Models;

type Product = class
end;

end.

но с одним лишь исключением: их надо подключать директивой {$includenamespace}. {$includenamespace *.pas}

Фича не афишируется, потому что там интеллисенс не сделан.

3 лайка

MyF - тоже пространство имен?

Отсутствие intelllisence - не причина скрывать такую важную возможность! Её уже пол года все ждут! Я правильно понял, что MyF -корневой неймспейс библиотеки?

Отучайтесь говорить от имени всех, Вам никто такого права не делегировал.

А разве кто-то (из этой ветки форума, разумеется) не ждёт этого? А так да, извиняюсь.

Да. Только, судя по всему, корневое. То есть, сама библиотека.