Ограничение видимости переменной

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ограничение видимости переменной

Сообщение krab » 21.07.2010 13:34:43

Нужно, чтобы переменная была видна только в двух юнитах, а в остальных - нет.
Обычно это делается так:
Код: Выделить всё
unit Unit1;
interface

implementation
var
  PrivateVar: TObj;

Хочу разбить большой юнит на два, и, соответственно, сделать доступной переменную и второму (вспомогательному) юниту. Но оставить переменную недоступной для других. Как это сделать?
krab
постоялец
 
Сообщения: 108
Зарегистрирован: 17.02.2010 18:23:08

Re: Ограничение видимости переменной

Сообщение Mr.Smart » 21.07.2010 13:35:41

Вынести код модулей в *.inc файлы.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Ограничение видимости переменной

Сообщение krab » 21.07.2010 13:39:30

Mr.Smart писал(а):Вынести код модулей в *.inc файлы.

В чем отличие .inс от обычных модулей? И в том, и в том случае делается "uses File;".
krab
постоялец
 
Сообщения: 108
Зарегистрирован: 17.02.2010 18:23:08

Re: Ограничение видимости переменной

Сообщение zub » 21.07.2010 13:44:36

вынести определение переменной в третий юнит, который включить implementation uses первых двух?
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: Ограничение видимости переменной

Сообщение Mr.Smart » 21.07.2010 13:44:49

Видимость переменной Вы ни как не ограничите. Если хотите разбить модуль то выход только включаемые файлы (inc).
п.с. Посмотрите исходники FCL/LCL там данный принцип хорошо проилюстрирован

Добавлено спустя 51 секунду:
Хотя можно сделать как советует zub
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Ограничение видимости переменной

Сообщение krab » 21.07.2010 13:47:51

zub писал(а):вынести определение переменной в третий юнит, который включить implementation uses первых двух?
И этот третий получится полупустым.

Mr.Smart писал(а):Видимость переменной Вы ни как не ограничите. Если хотите разбить модуль то выход только включаемые файлы (inc).
п.с. Посмотрите исходники FCL/LCL там данный принцип хорошо проилюстрирован
Видимо, так и придется сделать.

Спасибо.
krab
постоялец
 
Сообщения: 108
Зарегистрирован: 17.02.2010 18:23:08

Re: Ограничение видимости переменной

Сообщение zub » 21.07.2010 14:05:41

>>И этот третий получится полупустым.
Что в этом плохого? Сейчас тоже столкнулся с проблемой разделения большого на помельче. ИМХО самый верный путь. *.inc - только видимость разделения
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 49

Рейтинг@Mail.ru