![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
САБЖ.
Короче, у меня создаётся динамически панель на которой находится кнопка, и при нажатии на неё надо чтобы панель в месте с кнопкой удалялась. Но при удалении кнопки, т.к. она удаляет сама себя появляется ошибка, как этого избежать. PS: Альтернативные варианты не подходят, т.е. кнопка должна полюбому создаватся динамически, и потом удалятся при нажатии на неё. |
|||
|
||||
z-END |
|
||||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
это первоапрельское помешательство-)
-------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
||||
|
|||||
Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
z-END я понимаю что сегодня 1-ое апреля, но мне не смешно... Я уже со вчерашнего вечера не могу исправить эту ошибку.
Ты лучше покажи как её удалить и чтобы ошибка не выскакивала. ![]() |
|||
|
||||
fess |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 17.2.2005 Где: г. Мурманск, Росс ия Репутация: 2 Всего: 3 |
Попробуй уничтожать через Timer, т.е. в событии кнопки OnClick включаешь таймер, а в событии OnTimer уничтожаешь панель и кнопку.
Пример кода:
У меня работает без ошибок. Это сообщение отредактировал(а) fess - 1.4.2005, 17:41 --------------------
Компьютер не подчиняется законам физики. Только в нём глюки возникают из ничего, файлы исчезают в никуда, а объём измеряется в метрах и называется весом. |
|||
|
||||
z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
Zero я тебе показал данным примером, что при удалении кнопки никакой ошибки нет и возникать не может... положи мой код на пустой форме - при запуске создастся кнопка при нажатии на нее удалится.
ЗЫ прошу прощения, про панель не заметил ![]() в таком случае менеям первоапрельскую процедуру на такую:
Это сообщение отредактировал(а) z-END - 1.4.2005, 17:56 -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
Zero |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Дык я то что до этого и сделал, и при выполнении строки:
Ну до ладно, я только что сам нашёл один материал, и работает: ![]()
Вот так, учись студент!!! ![]() |
||||||||
|
|||||||||
Alex |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
Мда... Студент, учиться вам еще долго. Если ты уничтожаешь панель, то всем объектам владельцам, которых является панель, также отправляется сообщение об удалении. Именно поэтому ты и получал ошибку при удалении кнопки. Скорей всего ты удалял панель, а потом уже кнопку, которой уже не существует т.к. при удалении панели кнопка, принадлежащая панели уже удалилась. Вот тебе два кода удаления кнопки и панели по нажатию на кнопку и не один из них не приведет к ошибке: 1.
2.
Button9 лежит на panel1 -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
||||||
|
|||||||
Zero |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Alex да ты бы хоть сам то для начала проверил, первый твой код. Как раз он и приводит к той же ошике что и у меня получалась, т.к. у тебя сначала удаляется панель, а потом Assigned выдаёт ложную информцию, а потом удаляется не существующая кнопка.
Нет.
Ето я знаю, поэтому удалял только одни панели, но при удалении кнопки, так как у меня на панельках есть кнопка удалить (ну типа поста), то при удалении этой кнопки (самой себя и возникала ошибка). Хотя сейчас просто попробывал удалить так:
![]() ![]() Alex а мож есть офицально признаный код для "удаления самого себя", чтобы 100% работал, самое главное при показе преподу чтобы не возник. А то у некотрых так бывает, что пока делаешь в Wib'XP, то работает нормально, хотя и должно глюкать, а потом приносишь в радик свой курсач, там на 98-ых сразу что-ниюудь да глюканёт, и пятёрка накроется, а точнее переделывать придётся и потом приходить через неделю. ![]() |
||||||||
|
|||||||||
Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
-------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
Zero, приношу свои извинения за примеры. Я их проверял, но так вышло, что они работали. Сделай как говорит Girder и все будет нормально.
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Alex а вообщето тот код который у меня, я его взял в одной теме где отвечал Посол, а его коды обычно у меня работают нормально.
![]() Girder а ты не мог бы пояснить, в твоём примере всё на API-функциях сделано, а я их терпеть не могу, как тогда сделать, с учётом что у меня всё в том числе и кнопка которой я удаляю находится на панели, а удаляю я сами панели, а на них мнго компонентов находятся, и они автоматически удаляются при удалении панели... Короче какой код посоветуешь для удаления панели самой? ![]() |
|||
|
||||
December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
Проблему можно решить с помощью ApplicationEvents.OnIdle - будет работать на любой системе.
|
|||
|
||||
Girder |
|
||||||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
![]() Но... вот ентот код... для любых... созданный компонентов ![]()
PS: Кнопка Button2 и хреново туча компонентов... лежит на Panel1 ![]() Или вот так:
Это сообщение отредактировал(а) Girder - 2.4.2005, 20:53 -------------------- Как слышим, так и пишим. Истина где-то там... |
||||||
|
|||||||
Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
![]() ![]() Спасибо, Girder, твой код самый лучший из всех на данный момент предложенных, ![]() ![]() |
|||
|
||||
Alex103 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 416 Регистрация: 5.1.2005 Где: Украина, г. Харьк ов Репутация: нет Всего: нет |
Может так!!!
-------------------- Мой адресс не дом и не улица, мой адресс WWW |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |