Проблема с формами
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
Помогите плиз решить такую проблему:
У меня есть форма, в которой динамически создаются шейпчики. В этой форме я вызываю другую форму(через Form.Show), в которой меняю цвет одного из шейпчиков. Подскажите, пжлста, как мне присвоить этому шейпчику(динамически созданному в первой форме) во второй форме новый цвет?
У меня есть форма, в которой динамически создаются шейпчики. В этой форме я вызываю другую форму(через Form.Show), в которой меняю цвет одного из шейпчиков. Подскажите, пжлста, как мне присвоить этому шейпчику(динамически созданному в первой форме) во второй форме новый цвет?
Ну у него же есть имя? Пусть имена отличаются последними индексами, и присваивай наздоровье.
The trurh is out there...

Код: Выделить всё
procedure SetColor(ControlName: String; Color: TColor);
var i: Integer;
begin
For i := 1 to Form2.ControlCount do
if (Form2.Controls[i-1].Name = ControlName) and (Form2.Controls[i-1] is TShape] then
(Form2.Controls[i-1] as TShape).Color := Color;
end;
С уважением, Lost Angel...
Проблема в том, что я не могу написать Form1.(FindComponent(мой шейпчик) as TShape).Brush.Color:=Color или (Form2.Controls[i-1] as TShape).Color := Color; потому что он не понимает Brush.Color и Color. Если я пишу эти строчки в форме, в которой создавала шейпчики, то все нормально, в другой форме они не прописываются. Это бы еще работало, если я вторую форму вызывало через ShowModal, но через ShowModal прога ругается
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
скобка как минимум не там:
(Form1.FindComponent('Shape1') as TShape).Brush.Color:=Color
(Form1.FindComponent('Shape1') as TShape).Brush.Color:=Color

Пишу:
(Form1.FindComponent('Shape1') as TShape).Brush.Color:=Color
Выдает сообщение:
Undeclared identifier TShape
В типах пишу:
type
TShape = TGraphicControl;
Выдает сообщение:
Undeclared identifier Brush
(Form1.FindComponent('Shape1') as TShape).Brush.Color:=Color
Выдает сообщение:
Undeclared identifier TShape
В типах пишу:
type
TShape = TGraphicControl;
Выдает сообщение:
Undeclared identifier Brush
uses ExtCtrls пробовал?
С уважением, Lost Angel...
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
TShape объявлен в модуле ExtCtrls - он подключен?Undeclared identifier TShape
так низя - это значит, что TShape это то же что TGraphicControl, а в нём нет Brush, что нормальноTShape = TGraphicControl;

Игорь Акопян, LAngel, спасибо вам большое, все заработало!



