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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2012, 23:48   #1
Atfaster
Новичок
Джуниор
 
Регистрация: 04.02.2012
Сообщений: 3
По умолчанию Вопрос по процедурам

Сразу извиняюсь, т.к. вопрос явно нубский, но гугл мне не к сожалению не помог. Вопрос собственно следующий:

При создании своей процедуры например
Код:
procedure ReadPers;
из неё я не могу изменить никакие свойства компонентов, таких как label, edit и других,
Пишет ошибку "undeclared identifier: lbl1"
в то время как тот же код работает в процедуре
Код:
procedure TMainForm.FormCreate(Sender: TObject);
и работает в процедуре обработки нажатия какой либо кнопки.
Объясните пожалуйста почему так происходит и что нужно сделать, чтобы решить эту проблему.
Atfaster вне форума Ответить с цитированием
Старый 04.02.2012, 23:52   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Процедура не знает ни вашей формы, ни её объектов. Сделайте её методом формы проблемы отпадатут или передавайте параметром указатель на форму
Цитата:
в то время как тот же код работает в процедуре
работает в методе формы, а не в процедуре
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.02.2012, 23:52   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
в то время как тот же код работает в процедуре
учите отличия методов от процедур.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.02.2012, 23:58   #4
Atfaster
Новичок
Джуниор
 
Регистрация: 04.02.2012
Сообщений: 3
По умолчанию

Спасибо, что направили на путь истинный! Теперь знаю купа копать.
Atfaster вне форума Ответить с цитированием
Старый 05.02.2012, 00:06   #5
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
По умолчанию

или так в процедуре "procedure ReadPers;" обращаться так:

MainForm.lbl1
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Старый 05.02.2012, 00:20   #6
Atfaster
Новичок
Джуниор
 
Регистрация: 04.02.2012
Сообщений: 3
По умолчанию

Спасибо MadReason, так действительно заработало!
Atfaster вне форума Ответить с цитированием
Старый 05.02.2012, 02:28   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

MadReason, не дай Бог эта форма будет создаваться динамически...
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль.тема процедуры и функции процедурам Лилия Ви Помощь студентам 0 29.11.2011 15:37
Посоветуйте хороший учебник по процедурам и функциям netiv Паскаль, Turbo Pascal, PascalABC.NET 2 27.11.2011 12:33
Вопрос по процедурам Handy Помощь студентам 2 06.12.2010 12:09
Задачи в паскале по процедурам и функциям Ксения1611 Помощь студентам 0 25.10.2009 08:58
Вопрос по процедурам north Помощь студентам 3 22.11.2007 23:14