Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
4-1076561953
ai
2004-02-12 07:59
2004.04.18
Программное "нажатие" клавиши в другом приложении


3-1080037845
}|{yk
2004-03-23 13:30
2004.04.18
Поддержание синхронности БД


4-1076307558
Manowar
2004-02-09 09:19
2004.04.18
Информация о занимаемой памяти процесса


14-1080114653
vidiv
2004-03-24 10:50
2004.04.18
Прикол NTFS под названием Поток файла (или чтото вроде)


1-1080828616
Alex_B
2004-04-01 18:10
2004.04.18
Подскажите пожалуйста новичку каким компонетом в Delphi




   Наверх