Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.18;
Скачать: CL | DM;

Вниз

Можно ли создать защищенную переменную?   Найти похожие ветки 

 
Aleksandr ©   (2004-04-02 13:46) [0]

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


interface

var
 ProtectedVariable : integer read GetProtectedVariable write SetProtected Variable;

implementation
 
var
 FProtectedVariable;

function GetProtectedVariable : integer;
begin
 Result:=FProtectedVariable
end;

procedure SetProtectedVariable(Value : integer);
begin
 FProtectedVariable:=Value
end;



Чисто для удобства интерфейса?


 
Anatoly Podgoretsky ©   (2004-04-02 13:48) [1]

OVERLOAD для функции с именем ProtectedVariable


 
Defunct ©   (2004-04-02 14:16) [2]

>Можно ли сделать глобальную переменную, доступ к которой бы осуществлялся через процедуру и функцию. Ну, не в традиционном способе вызовом их, а аналогично свойству у объекта, что-то вроде

Низя

>> не в традиционном способе вызовом их
> OVERLOAD для функции с именем ProtectedVariable

Боюсь это не то.
Все равно конструкция вида:
ProtectedVariable := <bla bla bla>;
будет невозможна.


 
Anatoly Podgoretsky ©   (2004-04-02 14:21) [3]

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


 
Aleksandr ©   (2004-04-02 14:39) [4]

Мда... спасибо.

>>но что делать, ну нет такого для переменных, пока только для полей класса, через свойство. И врядли будет Борланд это реализовывать.

А жаль. Очень удобно - и текст читабельнее, и подставить код дополнительный можно без глобальных поисков/замен.


 
Anatoly Podgoretsky ©   (2004-04-02 14:43) [5]

Aleksandr ©   (02.04.04 14:39) [4]
Только что читабельнее, но в результате получаешь

ProtectedVariable := 10; -> SetProtected(10);
A := ProtectedVariable; -> GetProtectedVariable;

Так что если религия не мешает, а нужен защищеный доступ, то и используй прямой вызов, код дополнительный подставить можешь без перекомпиляции и переделки основного модуля.



Страницы: 1 вся ветка

Текущий архив: 2004.04.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
3-1080029292
VIB
2004-03-23 11:08
2004.04.18
DBGrid


11-1063301468
Immortal_Death
2003-09-11 21:31
2004.04.18
PStream


11-1062913336
=Sniper=
2003-09-07 09:42
2004.04.18
Чё-то форум показываться нормально не хочет....


8-1072449409
Kein
2003-12-26 17:36
2004.04.18
PlaySound


7-1076840953
Gorlum
2004-02-15 13:29
2004.04.18
Все принтеры