Главная страница
    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.045 c
2-1168999667
DmitrichJ
2007-01-17 05:07
2007.02.04
Ну слишком медленный StringGrid. Что делать?


6-1156909299
ZLOFENIX
2006-08-30 07:41
2007.02.04
посылка данных


4-1158723543
Wolfram
2006-09-20 07:39
2007.02.04
Работа с нестандартными клавишами


2-1169036841
root
2007-01-17 15:27
2007.02.04
Как узнать под каким пользователем загруженна программа


15-1168928181
vajo
2007-01-16 09:16
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский