Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка при закрытии [D7]


SergProger ©   (2005-11-02 16:02:00) 

Привет всем! У меня возникла проблема. Вот код:

var
 Form1: TForm1;
 Image: array of TImage;

implementation

{$R *.dfm}

procedure TForm1.FormDestroy(Sender: TObject);
begin
 Image[1].Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 SetLength(Image,1);
 Image[1]:=TImage.Create(Self);
 Image[1].Parent:=Self;
 Image[1].Left:=8;
 Image[1].Top:=8;
end;

Работает хорошо, но при закрытии окна возникает ошибка 'Invalid pointer operation'. Помогите пожалуйста разобраться.


Leonid Troyanovsky   (2005-11-02 16:48:00) [1]


> SergProger ©   (02.11.05 16:02)  

> var
>  Form1: TForm1;
>  Image: array of TImage;


The global variables - MD.

--
Regards, LVT.


MBo   (2005-11-02 16:23:00) [2]

динамические массивы нумеруются с нуля...


TUser   (2005-11-02 16:15:00) [3]

Ты указал Owner = Self, после при закрытии формы она пытается вызвать метод Free у картинки, а он уже вызвал, т.е. Image1 = nil. Вывод - убери метод Free из Ondestroy


Digitman   (2005-11-02 16:15:00) [4]

выкинь из тела обработчика события TForm1.OnDestroy тот самый

Image[1].Free

почему ?

это отдельный вопрос ....


Наверх

Титульная страница Поиск, карта сайта Написать письмо