Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.046 c
15-1168460341
ferr
2007-01-10 23:19
2007.02.04
Eagles -- Hotel California (original videoClip)


15-1168816148
Reaktor
2007-01-15 02:09
2007.02.04
Калькулятор виндоуз ошибается


6-1156835616
DVM
2006-08-29 11:13
2007.02.04
Потокобезопасность connect(), socket(), select() и прочее


6-1157030488
DelphiLexx
2006-08-31 17:21
2007.02.04
Отправка SMS с помощью INDY


15-1168879297
Ringo
2007-01-15 19:41
2007.02.04
А зачем ваще заканчивать институт?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский