Главная страница
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.041 c
15-1169017524
vajo
2007-01-17 10:05
2007.02.04
подскажите настройку интернет экплоэра


2-1168579608
VOPROS
2007-01-12 08:26
2007.02.04
Группировка по месяцам на русском


2-1168955806
Wood
2007-01-16 16:56
2007.02.04
TTreeView - список потомков узла.


2-1169376372
girichev
2007-01-21 13:46
2007.02.04
PageScroller


6-1156520514
BFG9k
2006-08-25 19:41
2007.02.04
idHTTPServer - ARespoceInfo в OnCommandGet