![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| tikitiki |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 10.5.2005 Репутация: нет Всего: нет |
Delphi хорошо знаю. Но с объявлением своих процедур не совсем ясно.
Должен ли я, определяя свою процедуру, объявлять её в определении класса формы( и должны ли быть обязательно параметры)? И почему у меня моя процедура, определённая в implementation, там же в определении и срабатывает, без всяких вызовов? |
|||
|
||||
| FRAGNATIC |
|
||||
|
..::Свирепый Кодер::.. ![]() ![]() Профиль Группа: Участник Сообщений: 901 Регистрация: 17.10.2004 Где: ICQ Репутация: 6 Всего: 11 |
как процедура не где не вызваноя срабатывает само по себе??? (если она конечно не обработчик события какго либо) |
||||
|
|||||
| tikitiki |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 10.5.2005 Репутация: нет Всего: нет |
Ошибся. Так нужно ли в определении класса формы обязательно ставить объявление своей процедуры? Я посмотрел: у меня в 2-х проектах одна и таже моя процедура (везде работает) в части определения почти совпадает, только в первом случае в определении перед именем процедуры стоит TForm1. и в определении класса формы стоит объявление процедуры, а во втором случае TForm1. не стоит в определении процедуры, а в определении класса формы нет объявления процедуры. При чём я попробовал сейчас ещё раз -эти варианты только компилируются, т.е. комбинации не допускаются. Как эту ситуацию понять? |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| tikitiki |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 10.5.2005 Репутация: нет Всего: нет |
Я кажись понял-объявление в интерфейсной части должно быть, но не в Var и в классе формы...
|
|||
|
||||
| Vet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
Чтобы из других модулей вызывать процедуру, можно ее в public объявить или в var. Разница в том, что если она в public, то перед ее вызовом будет идти имя объекта, которому она принадлежит, то есть формы: Form.ProcedureName. Если не надо из других модулей вызывать, то объявляй в private или вообще не объявляй, а сразу пиши реализацию в implementation. Можно еще в protected записать, тогда ее смогут потомки твоей формы вызывать, если тебе такое надо Во как |
|||
|
||||
| Akella |
|
||||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
потому, что она объявлена заранее, т.е. раньше, чем ты её используешь, аесли ты напишешь её раелизацию позже, чекм ты её использыешь, то компилятор не найдет её описания и реализации так нельзя
так нужно
|
||||||
|
|||||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |