Форум: "Основная";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];
Вниз
Что за бред? С каких пор у 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c