Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

взаимодействие компонентов на разных формах


Garacio ©   (2007-01-19 08:43:00) 

Помогите разобраться с ошибкой на Form1:
if Form2.CheckBox1.Checked=true then SpeedBut1Click(Sender);
пишет:
Undeclared identifier: 'SpeedBut1Click'
[Ошибка] Unit1.pas(287): Undeclared identifier: 'Sender'

если добавляю: Form1.SpeedBut1Click(Sender);
остаётся только: Undeclared identifier: 'Sender'


Плохиш   (2007-01-19 11:08:00) [1]


> Garacio ©   (19.01.07 09:31) [13]
> Народ спасибо за подсказку!
> procedure TForm1.Button2Click(Sender: TObject); - я написал
> для примера


Ну, я ж говорю "не верю". Ентот тогарищ ищет свою ошибку не там где она в действительности находиться, а там где светлее и пытается всех там же заставить её искать.


Плохиш   (2007-01-19 11:06:00) [2]


> procedure TForm1.Button1Click(Sender: TObject);
> begin
> if Form2.CheckBox1.Checked=true then SpeedBut1Click(Sender);
>  -нет!
> end;

Ну не верю я, что он именно в этот оработчик свой суперпупер код зафигачил, не верю и всё...


Думкин   (2007-01-19 10:16:00) [3]


> Garacio ©   (19.01.07 09:31) [13]
> Народ спасибо за подсказку!
> procedure TForm1.Button2Click(Sender: TObject); - я написал
> для примера
> сейчас добавил:
>
> var
>  Sender: TObject;
>
> теперь заработало!

И что? А что передавать - нам уже и не важно?


Palladin   (2007-01-19 09:46:00) [4]


> Garacio ©   (19.01.07 09:31) [13]

вот вот, читать то и сам умеешь, а вот с выводами по прочтенному у тебя слабовато..


Elen   (2007-01-19 09:34:00) [5]


> procedure TForm1.Button2Click(Sender: TObject); - я написал
> для примера

А в реале как было???


Garacio   (2007-01-19 09:31:00) [6]

Народ спасибо за подсказку!
procedure TForm1.Button2Click(Sender: TObject); - я написал для примера
сейчас добавил:

var
 Sender: TObject;

теперь заработало!


Garacio   (2007-01-19 09:29:00) [7]

var
 Sender: TObject;


Palladin   (2007-01-19 09:27:00) [8]


> в вызываемом контексте

фу, блин, в контексте вызова, конечно...


PZ   (2007-01-19 09:25:00) [9]

uses Unit2;

{$R *.dfm}

procedure TForm1.SpeedBut1Click(Sender: TObject);
begin
// ...
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 SpeedBut1Click(Sender);     // - работает!
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 if Form2.CheckBox1.Checked then SpeedBut1Click(Sender);  // То же работает
end;


Palladin   (2007-01-19 09:25:00) [10]

Убидится в том что в вызываемом контексте доступен идентификатор Sender


Garacio   (2007-01-19 09:23:00) [11]

К сожалению, код довольно ёмкий.
Но, может, Вы подскажите - где искать ошибку?
Сейчас попробовал:
if Form2.CheckBox1.Checked=true then ShowMessage('!');
Сработало!
Если Form1.SpeedBut1Click(Sender); убирает ошибку:
Undeclared identifier: 'SpeedBut1Click'
может что-то написать вместо Sender, что исчезла и последняя:
Undeclared identifier: 'Sender' ???


Elen   (2007-01-19 09:20:00) [12]


> Думкин

Блин, да, недосмотрела :D
У меня его код из [4] работает.


Думкин   (2007-01-19 09:16:00) [13]

> Elen ©   (19.01.07 09:12) [5]
Если юнит небольшой


> [Ошибка] Unit1.pas( 287): Undeclared identifier: 'Sender'


Elen   (2007-01-19 09:12:00) [14]


> Garacio

У меня твой код работает. Если юнит небольшой, то приведи его весь, может баги где-то в другом месте.


Garacio   (2007-01-19 09:02:00) [15]

Form1:

procedure TForm1.SpeedBut1Click(Sender: TObject);
begin
......
end;
Вот так:
procedure TForm1.Button1Click(Sender: TObject);
begin
SpeedBut1Click(Sender); - работает!
end;
Вот так:
procedure TForm1.Button1Click(Sender: TObject);
begin
if Form2.CheckBox1.Checked=true then SpeedBut1Click(Sender); -нет!
end;


Думкин   (2007-01-19 08:55:00) [16]

> Garacio ©   (19.01.07 08:52) [2]

А где работает, в каком месте? К тебе клещи применить?

А этот перл

> if Form2.CheckBox1.Checked=true


наводит на грустные размышления о сути бренного мира и твоем месте в нем. :(


Garacio   (2007-01-19 08:52:00) [17]

чего тут не понятного то...
Непонятно то, как это исправить! А читать я и сам умею :-)
Почему:
SpeedBut1Click(Sender);- работает?
а
if Form2.CheckBox1.Checked=true then SpeedBut1Click(Sender);- нет?


Palladin   (2007-01-19 08:46:00) [18]

Неизвестный идентификатор Sender

чего тут не понятного то...


Наверх

Титульная страница Поиск, карта сайта Написать письмо