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

Вниз

Что за бред? С каких пор у Tcontrol нет св-ва Caption?   Найти похожие ветки 

 
YuN   (2004-01-05 02:50) [0]

Хочу скинуть в файл имена на форме. Пишу:
procedure Tform1.savenames(fname:string);
var i:integer;
f:system.text;
t:Tcontrol;
begin
assignfile(f,fname); rewrite(f);
for I := 0 to ComponentCount -1 do
if Components[I] is TControl then begin
t:=Components[I] as Tcontrol;
writeln("name",inttostr(i),"=",t.Caption);
end;
closefile(f);
end;

Получаю от компилера "Undeclared identifier "Caption""


 
wnew ©   (2004-01-05 04:34) [1]

У TControl свойство "Caption" - protected, вероятно компонент, на который идёт ссылка описывается в другом unit.


 
YuN   (2004-01-05 05:23) [2]

То-то и оно, что в этом. У меня вообще один unit и одна форма на всю программу.


 
Думкин ©   (2004-01-05 07:13) [3]

> [2] YuN (05.01.04 05:23)

При чем тут твой юнит? У тебя работа идет с TControl - а у него это свойство невидимо в другом юните ибо ответ[1].
Можно обойти:

t : TControl;

TMagic=class(TControl)
public
property Caption;
end;

TTMagic(t).Caption := "sdgfs";


 
icWasya ©   (2004-01-05 09:39) [4]

TMagic можно определить по-другому. Для доступа ко всем Protected элементам в Delphi есть специальный синтаксис:


var
t : TControl;

type
TMagic=class(TControl) ;// вот именно так

TMagic(t).Caption := "sdgfs";


теперь через TMagic можно добраться до всех Protected членов TControl



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

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

Наверх




Память: 0.47 MB
Время: 0.021 c
14-49763
VEG
2003-12-22 02:33
2004.01.16
Самый нестандартный алгоритм


3-49417
new
2003-12-19 09:54
2004.01.16
можно ли таблицы paradox7 не связывать через database decstop


14-49742
barbi
2003-12-23 10:22
2004.01.16
Москва дезинформирует о погоде в нашем регионе, а как в ваших?


1-49638
Brut
2004-01-04 14:54
2004.01.16
Как использовать типы и классы в различных модулях.


7-49782
AngryMac
2003-10-31 20:17
2004.01.16
RS-232