Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2014, 11:01   #1
Zurs
Пользователь
 
Регистрация: 15.12.2013
Сообщений: 28
По умолчанию Помогите исправить ошибку

Запускаю функцию
Код:
Function GetDUnVNR(Sender: TObject;i:integer):Integer;  /
var
begin
if (frm.CheckBox1.State=cbUnchecked) and (a=1) then
 begin
 a:=a-1;
  TEdit(Components[10]).Text:=IntToStr(10);   //Ошибка
 //TForm1.TEdit(Components[10]).Text:=IntToStr(10);// Ошибка
end;
end;
Ошибка неизвестная переменная TEdit. Пишу то же самое в стандартной процедуре ButtoClick все работает, подскажите как исправить?

Последний раз редактировалось Stilet; 11.12.2014 в 11:58.
Zurs вне форума Ответить с цитированием
Старый 11.12.2014, 11:03   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Все правильно.

Цитата:
Пишу то же самое в стандартной процедуре ButtoClick все работает
Естественно, она же в том же классе.
p51x вне форума Ответить с цитированием
Старый 11.12.2014, 11:17   #3
Zurs
Пользователь
 
Регистрация: 15.12.2013
Сообщений: 28
По умолчанию

И как мне это поможет?
Zurs вне форума Ответить с цитированием
Старый 11.12.2014, 12:00   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
И как мне это поможет?
Edit, который ты используешь является компонентом класса Form. Когда ты функцию описал как метод, все ее вызовы стали по умолчанию касаться Form, поэтому Components отработает верно - т.е. дает список компонентов формы.
Когда же ты вынес в отдельную процедуру непривязанную ни к чему - этот список понятное дело начал лажать, поскольку процедура не привязана к объекту.

Короче тебе поможет понимание разницы между методами класса и обычными процедурами.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить ошибку! prizrakbarci Помощь студентам 5 15.10.2014 14:45
помогите исправить ошибку Spanchik Паскаль, Turbo Pascal, PascalABC.NET 7 02.07.2014 11:21
Помогите исправить ошибку girkoff Общие вопросы C/C++ 2 28.10.2009 13:02
Помогите исправить ошибку masha17 Общие вопросы C/C++ 3 22.10.2009 14:21
Помогите исправить ошибку sergoss Общие вопросы Delphi 2 14.02.2009 09:59