![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при закрытии [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
почему ?
это отдельный вопрос ....