![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Преведение к классу [D6, WinME, NT4, Win2k, WinXP]
SNV-Soft © (2004-08-20 08:10:00){ Var
CurClass: TClass; - объявил переменную
CurClass:= TShape; - присвоил переменнной нужный класс
Теперь вот эту херь
(MainForm.ActiveMDIChild).Pnl_Design.Components[i]
нужно преобразовать к классу который в переменной CurClass
что бы получимлось типа так:
TShape(MainForm.ActiveMDIChild).Pnl_Design.Components[i])
Вот так не катит
(CurClass(MainForm.ActiveMDIChild).Pnl_Design.Components[i])
так тоже
(MainForm.ActiveMDIChild).Pnl_Design.Components[i] as CurClass)
Как преобразовать !?}
jack128 (2004-08-20 09:38:00) [1]
> Чо то я туплю.....
Это точно ;-)
Ты можешь внятно объяснить, что такое прямое преобразование к ПЕРЕМЕННОЙ? Это бессмысленная конструкция.
В принципе [3] - это правильный вариант, разве что коректнее объявить CurClass, как TControlClass ..
Рамиль (2004-08-20 08:36:00) [2]А зачем тебе понадобилась конструкция
CurClass: TClass;
CurClass:= TShape;
?
SNV-Soft (2004-08-20 08:32:00) [3]Чо то я туплю.....
по идеи и так можно
TControl(((TDesignForm(MainForm.ActiveMDIChild).Pnl_Design.Components[i]))).Width
SNV-Soft (2004-08-20 08:24:00) [4]Var
CurClass: TClass;
CurClass:= TShape;
TControl(((TDesignForm(MainForm.ActiveMDIChild).Pnl_Design.Components[i]) as CurClass)).Width
все намного проще!!
Рамиль (2004-08-20 08:23:00) [5]Что-то я не то написал...(
Рамиль (2004-08-20 08:20:00) [6]Может все таки лучше так:
CurClass: TShape;
...
CurClass := TShape.Create();
...
if (MainForm.ActiveMDIChild).Pnl_Design.Components[i] is TShape then
(TShape(MainForm.ActiveMDIChild).Pnl_Design.Components[i])