Главная страница
    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.043 c
2-1169067190
Svet
2007-01-17 23:53
2007.02.04
Отбор не точен ...


2-1168961617
RomanH
2007-01-16 18:33
2007.02.04
Три поля в одну колонку (FastReport)


4-1157143168
NeiRo_St
2006-09-02 00:39
2007.02.04
Web-camera


2-1169181823
FIL-23
2007-01-19 07:43
2007.02.04
проблемы с совместимостью


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