Мне вот интересует подобная вещь, как вот в System есть Windows или Environment) Будьте добры, подскажите
Очень жаль, а есть какая-нибудь возможность объединить несколько классов во что-нибудь одно внутри одного модуля, например несколько классов в один класс?
разве что со статическими полями
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}
Фича не афишируется, потому что там интеллисенс не сделан.
MyF - тоже пространство имен?
Отсутствие intelllisence - не причина скрывать такую важную возможность! Её уже пол года все ждут! Я правильно понял, что MyF -корневой неймспейс библиотеки?
Отучайтесь говорить от имени всех, Вам никто такого права не делегировал.
А разве кто-то (из этой ветки форума, разумеется) не ждёт этого? А так да, извиняюсь.
Да. Только, судя по всему, корневое. То есть, сама библиотека.