14.10.12 public

На верх  Назад  Вперёд

Ключевое слово public используется для глобального объявления функции в модуле. Это полезно, если функция не должна быть доступна из файла модуля (т.е. другой модуль/программа с использованием модуля не видит функцию), но должна быть доступна. В качестве примера:

Unit someunit;

 

interface

 

Function First : Real;

 

Implementation

 

Function First : Real;

begin

First := 0;

end;

 

Function Second : Real; [Public];

begin

Second := 1;

end;

 

end.

Если другая программа или модуль использует этот модуль, он не может использовать функцию Second, так как она не объявлена в интерфейсной части. Тем не менее, можно получить доступ к функции Second на уровне языка ассемблера, используя его "искаженное" имя (смотрите Справочник программиста Free Pascal).

Модификатор public также может сопровождаться директивой name, чтобы указать имя для вызова процедуры на ассемблере, следующим образом :

Unit someunit;

 

interface

 

Function First : Real;

 

Implementation

 

Function First : Real;

begin

First := 0;

end;

 

Function Second : Real; Public name 'second';

begin

Second := 1;

end;

 

end.

При использовании символа нужно учитывать регистр букв, его надо использовать как в public name, то есть имя будет second, строчными буквами.