![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| IgorMl |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 11.4.2014 Репутация: нет Всего: нет |
......... Во время выполнения программы создаю окно.
.... Хочу в FormShow класса TBase произвести перемещение кнопки TButton класса TMap в нужное мне место. .... Вопрос как это сделать? |
||||
|
|||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| IgorMl |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 11.4.2014 Репутация: нет Всего: нет |
ой ... конечно же вместо
должно быть
Т.е. создаётся обьект aMap. Но при этом я не хочу светить ненужную реализацию по упорядочиванию кнопок расположенных на обьекте aMap. Хочу спрятать этот алгоритм в базовом классе. Вот мне и не понятно как это сделать . |
||||
|
|||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
Если я правильно понял, то тебе надо:
1) В TBase создать нужный метод (упорядочивание кнопок или что там надо) и поместить этот метод в любую секцию, кроме private (для подобных дел обычно protected используют). 2) В TMap вызывать этот метод напрямую (т.е как будто он в TMap и описан). В случае, если этот метод должен работать с каким-то объектом, который не принадлежит TBase или его родителю (в твоем случае это TButton класса TMap), то нужно этот объект передавать в метод параметром. Вот пример
Это сообщение отредактировал(а) Poseidon - 11.4.2014, 11:05 -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| IgorMl |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 11.4.2014 Репутация: нет Всего: нет |
Да, это то что нужно!
Спасибо за помощь! |
|||
|
||||
| IgorMl |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 11.4.2014 Репутация: нет Всего: нет |
После вызова MyMethod кнопка осталась на позиции
а задумка была в том чтобы дать возможность переместить этот обьект в зависимости от заданных координат в базовом классе. Видимо обращение к Button в MyMethod должно происходить как то по другому? |
||||
|
|||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
Видать var хочет MyMethod(var Button: TButton);
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| IgorMl |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 11.4.2014 Репутация: нет Всего: нет |
Не помогло |
|||
|
||||
| IgorMl |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 11.4.2014 Репутация: нет Всего: нет |
Не совсем понятно ... но после внесения изменений в класс TBase по указанным замечаниям от Poseidon выполнение программы не приносило нужного результата. Однако после повторного наследования от TBase все заработало.
Неужели после каждого изменения Базового класса нужно пересоздавать всех его наследников? |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
Что значит "повторное наследование"?
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| IgorMl |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 11.4.2014 Репутация: нет Всего: нет |
Когда внес изменения в уже созданные формы - ничего не получалось.
Но после того как создал нового наследника от TBase алгоритм в TBase.MyMethod заработал. С чем это связать ни знаю. Это уже вопрос второстепенный ... основной вопрос вашей помощью решен. Спасибо. |
|||
|
||||
![]()
|
| Правила форума "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. |