Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.06;
Скачать: CL | DM;

Вниз

Ошибка при удалении Panel с формы.   Найти похожие ветки 

 
Object   (2005-02-21 14:42) [0]

Уважаемые мастера!
Пытаюсь удалять во run-time компоненты Panel по нажатию кнопки мыши так:
TPanel(Sender).Free;

Компоненты удаляются, но вначале выдаётся ошибка:
Abstract Error, или EAccess Violation.
Что это может быть?
Может по другому можно удалить?
Мне надо, чтобы полностью разрушился компонент.
Спасибо.


 
Юрий Зотов ©   (2005-02-21 14:55) [1]

Не нужно удалять компонент непосредственно из обработчика его же события. Вместо прямого удяления пошлите форме через PostMessage сообщение, например, WM_USER+200 и передайте ссылку на компонент в параметре. В обработчике сообщения и удаляйте этот компонент.


 
DiamondShark ©   (2005-02-21 14:56) [2]

А нельзя удалять компонент из обработчика его события.


 
Чапаев ©   (2005-02-21 15:03) [3]

Ещё один AV поймаешь при завершении работы программы, если Owner панельки был не nil...


 
КаПиБаРа ©   (2005-02-21 15:27) [4]

Чапаев ©   (21.02.05 15:03) [3]
Второй раз за день вы пишите это. Налицо неправильное представление о процессе удаления компонента.

destructor TComponent.Destroy;
begin
 Destroying;
 if FFreeNotifies <> nil then
 begin
   while Assigned(FFreeNotifies) and (FFreeNotifies.Count > 0) do
     TComponent(FFreeNotifies[FFreeNotifies.Count - 1]).Notification(Self, opRemove);
   FreeAndNil(FFreeNotifies);
 end;
 DestroyComponents;
 if FOwner <> nil then FOwner.RemoveComponent(Self);
 inherited Destroy;
end;



Страницы: 1 вся ветка

Текущий архив: 2005.03.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
1-1108823266
Коля
2005-02-19 17:27
2005.03.06
есть StringGrid. как выделить текст в одной из ячеек програмно?


1-1108565845
Алексей
2005-02-16 17:57
2005.03.06
Как в TMemo отметить символ


14-1108415012
palva
2005-02-15 00:03
2005.03.06
Заведите себе собственный вирусятник


1-1108304762
Сергей Ю.
2005-02-13 17:26
2005.03.06
Как можно разделить функции одной программы между несколькими?


1-1108822344
Ivolg
2005-02-19 17:12
2005.03.06
Глюк с MediaPlayer