![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
На форме две кнопки и такой код:
Объясните plz, поподробнее, почему после выполнения кода Button1 = Button3... -------------------- ![]() |
|||
|
||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
и... -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
Ну вообще-то Button1 <> Button3, вот Button1.Name = Button3.Name.
Добавлено @ 16:20 Блин, не догоняю чето, пойду вопрос заново читать... Добавлено @ 16:22
Если ты имеешь ввиду почему у тебя после выполнения Button1.Name = Button3... ??? Оптимизатор отключи. -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 1 Всего: 360 |
Модератор: Название темы должно отражать ее суть!
|
|||
|
||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
Я вот просто не вижу где он и какие указели присваивает? -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
потому что ты так присвоил |
|||
|
||||
| VICTAR |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
Наверное должно быть так?
|
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
ИЗВЕНИТЕ, ошибка вышла. Исходный код такой:
Но, вопрос прежний!!! Это сообщение отредактировал(а) aktuba - 10.1.2007, 16:45 -------------------- ![]() |
|||
|
||||
| VICTAR |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
тогда все понятно!
после выполнения Button1.Name := 'Button3' с этой кнопкой больше ничего не происходит, т.к. по коду больше нет обращения к Button3!!! Все остальные дествия происходят с Button2, которая по ходу меняет свое имя... |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Так вопрос толком и не прозвучал в чем смысл дважды присваивать значение полю name одного и того же объекта Button1? -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Вопрос: почему после завершения кода Button1.Name = 'Button3', если в конце кода происходит Button1.Name = 'Button2'; А зачем смысл? Меня интересует, почему происходит так... -------------------- ![]() |
|||
|
||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
Добавлю к объяснениям VICTAR и повторюсь. Отключи оптимизатор Delphi (Project Options->Compiler->Code Generation-> Optimization), и посмотри что будет. Дельфи умная иногда бывает и лишний код она игнорирует. -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| aktuba |
|
||||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Оптимизатор включен. Да и где тут лишний код? Все задействовано ведь... Попробуйте у себя: форма, две кнопки, на первой такой обработчик... -------------------- ![]() |
||||
|
|||||
| VICTAR |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
aktuba, пойми, после Button1.Name := 'Button3' эта кнопка уже не является Button1, она Button3. Button3 ты нигде не трогаешь! Остальные действия у тебя происходят только с Button2(изначально), которая сначала становиться Button1, затем опять Button2, и в конце концов благополучно умирает...
|
|||
|
||||
| aktuba |
|
||||||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
VICTAR,
Как так? в таком случае, после
Button2 должна указывать на Button3, а после
должно все удаляться??? тоже не верно. -------------------- ![]() |
||||||
|
|||||||
| VICTAR |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
ок, давай так:
Изначально Button1=кнопка №1 Изначально Button2=кнопка №2 теперь:
уф-ф. Надеюсь понятно Это сообщение отредактировал(а) VICTAR - 10.1.2007, 18:36 |
|||
|
||||
| Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 3 Всего: 7 |
Попробуй создать на форме кнопки и присвоить одной из них имя уже существующей. Нифига не выйдет. Name это уникальное свойство, оно вроде как идентифицирует объект. Зачем тебе все это понадобилось? А что чем является лучше посмотри под отладчиком, для этого получи адреса кнопок. Оптимизатор действительно лучше отключить.
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
| Sunvas |
|
||||||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Ща попробую объяснить, только не знаю подберу ли нужные слова, чтобы меня поняли.
Вся эта катавасия происходит потому что есть описание объекта и имя объекта. Это по-сути две разные вещи, но Делфи в Desing time это объеденил в одно понятие, чтобы нам было легче. Поэтому и возникает путаница. Присвоение имени объекту в run time имхо сделано только когда мы и сам объект создаем в run time Приведу простой пример, где покажу, что имя объекту можно и не присваивать (оно будет пустым):
Теперь, если мы захотим обратиться к пятой кнопке, мы напишим:
Из этого вывод, что объект может имени вообще не иметь:
, а описание может не соответствовать имени. Поэтому при обращении к объекту через его описание в проблеме автора Делфи ищет объект с таким же именем функцией findcomponent , и если не находит, то ничего не делает. Это сообщение отредактировал(а) Sunvas - 10.1.2007, 19:00 -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
||||||
|
|||||||
| Magister Y0da |
|
|||
![]() Зелёненький ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 30.11.2004 Репутация: -2 Всего: 2 |
попробуй сделать вот так
--------------------
|
|||
|
||||
| VICTAR |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
Не откомпилируется, т.к. изначально на форме нет Button3. Решить просто, только надо понять что требуется автору |
|||
|
||||
| Magister Y0da |
|
|||
![]() Зелёненький ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 30.11.2004 Репутация: -2 Всего: 2 |
ну... эээ.....
у нас ведь имя меняется с Button1 а Button3, а потом обратно вроде так --------------------
|
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Magister Y0da, в исходном вопросе было указано, что на форме ДВЕ кнопки ( Button1 и Button2)...
-------------------- ![]() |
|||
|
||||
| Magister Y0da |
|
||||
![]() Зелёненький ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 30.11.2004 Репутация: -2 Всего: 2 |
тогда не понимаю что ему от нас надо
блин теперь увидел Sorry --------------------
|
||||
|
|||||
![]()
|
| Правила форума "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. |