Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизУничтожение формы Найти похожие ветки
← →
Top100 (2004-04-20 11:54) [0]Хелп ПЛЗ с освобождением памяти под ранее созданную форму.При использовании Free вываливается ошибка Access violation
← →
Top100 (2004-04-20 11:54) [0]Хелп ПЛЗ с освобождением памяти под ранее созданную форму.При использовании Free вываливается ошибка Access violation
← →
Reindeer Moss Eater © (2004-04-20 11:55) [1]При использовании Free у кого/чего?
← →
Reindeer Moss Eater © (2004-04-20 11:55) [1]При использовании Free у кого/чего?
← →
Top100 (2004-04-20 11:59) [2]Точнее "..название формы.Free" использую при обработке onClose самой формы.
← →
Top100 (2004-04-20 11:59) [2]Точнее "..название формы.Free" использую при обработке onClose самой формы.
← →
Тимохов © (2004-04-20 12:01) [3]код давай
← →
Тимохов © (2004-04-20 12:01) [3]код давай
← →
Reindeer Moss Eater © (2004-04-20 12:03) [4]использую при обработке onClose самой формы.
Не надо делать этого. Никогда.
← →
Reindeer Moss Eater © (2004-04-20 12:03) [4]использую при обработке onClose самой формы.
Не надо делать этого. Никогда.
← →
Top100 (2004-04-20 12:04) [5]
> Тимохов © (20.04.04 12:01) [3]
> код давай
Даю:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form2.Free;
end;
← →
Top100 (2004-04-20 12:04) [5]
> Тимохов © (20.04.04 12:01) [3]
> код давай
Даю:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form2.Free;
end;
← →
Григорьев Антон (2004-04-20 12:04) [6]В OnClose явный вызов Free?!!! Нельзя так - после обработки OnClose продолжают выполняться функции формы, а вы её уже уничтожили. Просто поменяйте значение параметра Action на caFree, и форма автоматически освободится, как только это будет возможно. И читайте справку - тогда не придётся писать в форум из-за такой ерунды.
← →
Григорьев Антон (2004-04-20 12:04) [6]В OnClose явный вызов Free?!!! Нельзя так - после обработки OnClose продолжают выполняться функции формы, а вы её уже уничтожили. Просто поменяйте значение параметра Action на caFree, и форма автоматически освободится, как только это будет возможно. И читайте справку - тогда не придётся писать в форум из-за такой ерунды.
← →
Silver Alex © (2004-04-20 12:04) [7]Free в OnClose это ты зря, в OnClose надо ставить Action:=caFree;
← →
Silver Alex © (2004-04-20 12:04) [7]Free в OnClose это ты зря, в OnClose надо ставить Action:=caFree;
← →
Top100 (2004-04-20 12:05) [8]
> Reindeer Moss Eater © (20.04.04 12:03) [4]
> использую при обработке onClose самой формы.
>
> Не надо делать этого. Никогда.
Так я и спрашиваю как надо то? :)
← →
Top100 (2004-04-20 12:05) [8]
> Reindeer Moss Eater © (20.04.04 12:03) [4]
> использую при обработке onClose самой формы.
>
> Не надо делать этого. Никогда.
Так я и спрашиваю как надо то? :)
← →
Reindeer Moss Eater © (2004-04-20 12:06) [9]Вторая грубая ошибка - это использование имени левой переменной внутри метода класса для вызова другого метода этого же класса.
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form2.Free;
end;
← →
Reindeer Moss Eater © (2004-04-20 12:06) [9]Вторая грубая ошибка - это использование имени левой переменной внутри метода класса для вызова другого метода этого же класса.
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form2.Free;
end;
← →
Тимохов © (2004-04-20 12:07) [10]Скажем так: не всегда (но больше чем в половине случаев) уничтожать объект из его же метода нельзя - это приводит к av как в данном случае. В любом случае делать так нельзя (даже если все работает). В остальном полностью согласен с предыдущими ораторами.
← →
Тимохов © (2004-04-20 12:07) [10]Скажем так: не всегда (но больше чем в половине случаев) уничтожать объект из его же метода нельзя - это приводит к av как в данном случае. В любом случае делать так нельзя (даже если все работает). В остальном полностью согласен с предыдущими ораторами.
← →
Reindeer Moss Eater © (2004-04-20 12:08) [11]Так я и спрашиваю как надо то? :)
Зависит от того, модальная у тебя форма или нет. О чем никто еще кроме тебя не знает.
← →
Reindeer Moss Eater © (2004-04-20 12:08) [11]Так я и спрашиваю как надо то? :)
Зависит от того, модальная у тебя форма или нет. О чем никто еще кроме тебя не знает.
← →
Silver Alex © (2004-04-20 12:09) [12]
> Так я и спрашиваю как надо то? :)
а как вызываешь? Если модально тогда
with TForm2.Create(nil) do
try
ShowModal;
finally
Free;
end;
а если просто методом Show, тогда в OnClose Action:=caFree;
← →
Silver Alex © (2004-04-20 12:09) [12]
> Так я и спрашиваю как надо то? :)
а как вызываешь? Если модально тогда
with TForm2.Create(nil) do
try
ShowModal;
finally
Free;
end;
а если просто методом Show, тогда в OnClose Action:=caFree;
← →
Top100 (2004-04-20 12:10) [13]
> Reindeer Moss Eater © (20.04.04 12:08) [11]
> Так я и спрашиваю как надо то? :)
>
> Зависит от того, модальная у тебя форма или нет. О чем никто
> еще кроме тебя не знает.
да модальная
← →
Top100 (2004-04-20 12:10) [13]
> Reindeer Moss Eater © (20.04.04 12:08) [11]
> Так я и спрашиваю как надо то? :)
>
> Зависит от того, модальная у тебя форма или нет. О чем никто
> еще кроме тебя не знает.
да модальная
← →
Reindeer Moss Eater © (2004-04-20 12:12) [14]with TMyModalForm.Create(Application) do
try
ShowModal;
finally
Free;
end;
← →
Reindeer Moss Eater © (2004-04-20 12:12) [14]with TMyModalForm.Create(Application) do
try
ShowModal;
finally
Free;
end;
← →
Top100 (2004-04-20 12:16) [15]Спасибо большое всем за ответы. Я понял свои грубые ошибки. Извините за мою безграмотность. Учусь.
← →
Top100 (2004-04-20 12:16) [15]Спасибо большое всем за ответы. Я понял свои грубые ошибки. Извините за мою безграмотность. Учусь.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.051 c