Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.04;
Скачать: CL | DM;

Вниз

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

 
Garacio ©   (2007-01-19 08:43) [0]

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

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


 
Palladin ©   (2007-01-19 08:46) [1]

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

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


 
Garacio ©   (2007-01-19 08:52) [2]

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


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

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

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

А этот перл

> if Form2.CheckBox1.Checked=true


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


 
Garacio ©   (2007-01-19 09:02) [4]

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;


 
Elen ©   (2007-01-19 09:12) [5]


> Garacio

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


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

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


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


 
Elen ©   (2007-01-19 09:20) [7]


> Думкин

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


 
Garacio ©   (2007-01-19 09:23) [8]

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


 
Palladin ©   (2007-01-19 09:25) [9]

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


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

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:27) [11]


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

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


 
Garacio ©   (2007-01-19 09:29) [12]

var
 Sender: TObject;


 
Garacio ©   (2007-01-19 09:31) [13]

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

var
 Sender: TObject;

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


 
Elen ©   (2007-01-19 09:34) [14]


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

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


 
Palladin ©   (2007-01-19 09:46) [15]


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

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


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


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

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


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


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

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


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


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


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



Страницы: 1 вся ветка

Текущий архив: 2007.02.04;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.07 c
15-1168987696
Gero
2007-01-17 01:48
2007.02.04
Опрос: Как вы относитесь к политике?


15-1169068099
Ломброзо
2007-01-18 00:08
2007.02.04
Нид хелп


15-1168359887
xayam
2007-01-09 19:24
2007.02.04
блин ну и умучался я с этой Вашей bds 2006 ))


15-1168464147
GanibalLector
2007-01-11 00:22
2007.02.04
Порты в дистанц. управлении рабочим столом(mstsc.exe)


15-1168865021
Курдль
2007-01-15 15:43
2007.02.04
Что такое iPod?