Паскаль: полностью импортировать модуль в текущую область

Больше горе Паскаля.

Скажем, у меня есть 2 единицы, MainUnit, а также ExampleClass,

Основной блок:

Unit MainUnit;

interface

Uses ExampleClass;

function ReturnFive: Integer;

implementation

function ReturnFive: Integer;
begin
  ReturnFive := 5;
end;

begin
end.

ExampleClass:

Unit ExampleClass;

{$mode objfpc}

interface

type 
  ClassThing = Class
    SampleValue: Integer;
  end;


implementation

begin
end.

Теперь я хотел бы только импортировать MainUnit, но все же сможете использовать ClassThing, MainUnituses ExampleClass, но ClassThing не используется при импорте MainUnit,

Я не хочу просто useExampleClass вместе с MainUnitЯ бы предпочел сохранить его в одном uses заявление.

Как ты это делаешь?

1 ответ

Решение

Положил

type ClassThing = ExampleCLass.ClassThing;

в интерфейсе главного блока.

Принцип также работает для констант, но только для "настоящих" (не типизированных, которые являются более инициализированными переменными):

const myconst = unitname.myconst;

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

Другие вопросы по тегам