| 
| 
 | Вопрос # 3 415/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты!У меня такая проблема. При клике на объект вызывается процедура отчищающая массив объектов, в котором находится и злополучный объект.
 Долго бился башкой из за чего вылетает Abstract Error, и допёр, что удаляется используемый объект!
 Удалить объект нужно по любому, помогите пожалуйста.
 
|  |   Вопрос задал: Алексей Никитин (статус: 1-ый класс)Вопрос отправлен: 18 ноября 2009, 21:34
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 9; последнее сообщение — 18 ноября 2009, 22:15; участников в обсуждении: 4. 
|   | Алексей Никитин (статус: 1-ый класс), 18 ноября 2009, 21:43 [#1]:Прошу прощения за несвязность речи. В общем проблема в том чтобы удалить компонент, после клика по нему-же.
 |  
|   | Егор (статус: 10-ый класс), 18 ноября 2009, 21:52 [#2]:код-то покажь, а то нифига не понятно если объект удаляется, и должен удаляться, то в чём проблема-то?
 Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  
|   | min@y™ (статус: Доктор наук), 18 ноября 2009, 21:53 [#3]:Ну давай показывай, что и как ты удаляешь. Я вот тут взял форму, положил на неё 3 кнопки и создал для них вот такой обработчик OnClick: 
 procedure TForm1.Button1Click(Sender: TObject);
begin
  Sender.Free();
end;Всё прекрасно работает, никаких ошибок. Колись давай, как делаешь!
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Егор (статус: 10-ый класс), 18 ноября 2009, 22:06 [#4]:а если на этот же обработчик навесить щелчок по форме?... гыыыы
   Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  
|   | Вадим К (статус: Академик), 18 ноября 2009, 22:08 [#5]:во первых Abstract error возникает немного в другом случае. во вторых, удалять объект в его же обработчике - потенциальное UB. То есть, надо делать это осознанно. Да, в примере  min@y™ это будет работать, но в чуточку сложном - вылезет боком. и ещё каким.
 min@y™ , плохой код, у нас выгоняют за такой код.
 
 В целом, код в студию, тогда и подскажем хорошее решение.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | min@y™ (статус: Доктор наук), 18 ноября 2009, 22:11 [#6]: Цитата (Вадим К): плохой код, у нас выгоняют за такой код. 
 А у нас никто такой код и не пишет.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Вадим К (статус: Академик), 18 ноября 2009, 22:12 [#7]:а кто его выше написал??? Галочка "подтверждения прочтения" - вселенское зло. |  
|   | min@y™ (статус: Доктор наук), 18 ноября 2009, 22:13 [#8]:Abstract Error вылезает при попытке вызвать абстрактный метод объекта или при попытке положить абстракный компонент на форму. Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | min@y™ (статус: Доктор наук), 18 ноября 2009, 22:15 [#9]: Цитата (Вадим К): а кто его выше написал???  А это был эксперимент.
 Я такой код в реальной жизни не пишу и вообще у меня таких задач быть не может.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |