Текущий архив: 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.45 MB
Время: 0.042 c