Форум: "Начинающим";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];
ВнизОперация := Найти похожие ветки
← →
Alex7 (2006-03-20 16:45) [0]Уважаемые мастера!
В приведенной процедуре хочу
занести в "z" имя формы, где находится
компонент, получивший фокус.
procedure A (Sender: TObject);
Var x: Tobject;
z: TComponentName; // или String;
begin
x:= TForm(Sender);
While not (x is TForm) Do x:= TForm(x).Parent;
z := TForm(x).Name;
end;
TForm(x).Name - получается верное,
а в "z" заносится "".
Помогите разобраться. Спасибо.
← →
Сергей М. © (2006-03-20 16:49) [1]Почему Parent, а не Owner ?
← →
MBo © (2006-03-20 16:54) [2]С GetParentForm не проще будет?
И как далее используется z?
← →
icWasya © (2006-03-20 16:56) [3]более правильно
Function ParentFormName (Sender: TObject):String;
begin
Result:="";
if not (Sender) is TControl then Exit;
While Sender<>Nil do begin
if (Sender is TForm) then begin
Result:=TForm(Sender).Name;
Exit;
end;
Sender :=TControl(Sender).Parent;
end;
end;
← →
Плохиш © (2006-03-20 16:57) [4]
> z := TForm(x).Name;
ShowMessage(z);
Что выводиться в сообщении?
← →
Alex7 (2006-03-20 16:59) [5]Спасибо. Так, конечно, проще. Не сообразил.
Но почему все-таки в "z" не заносится?
← →
MBo © (2006-03-20 17:00) [6]>Но почему все-таки в "z" не заносится?
Можно посмотреть на реальный код, из которого видно, что действительно "не заносится"?
← →
Alex7 (2006-03-20 17:14) [7]> Что выводиться в сообщении?
В ShowMessage(z) все правильно,
а в редакторе кода и в окне наблюдений
z = "". Почему ? Не понимаю.
← →
Плохиш © (2006-03-20 17:29) [8]
> Почему ?
Оптимизатор в действии, если "z" дальше нигде не используется, то и присваивать ей значения незачем.
← →
Alex7 (2006-03-20 17:43) [9]> Оптимизатор в действии
Понятно. Спасибо.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c