![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как притрупить форму? [D6, Win95/98]
Ivan_A © (2002-03-20 01:26:00)Попытка убить available форму методом Release или Free вызывает Access Violation. Если не убивая повторно вызывать для нее Create + Showmodal - успешно запускается. Как бороться?
yaJohn (2002-03-20 13:34:00) [1]Шаманство... При аналогичной проблеме мне помогло
InForm:=TInForm.Create( nil);
и толькоinForm.Release;, никакихFree
Alx2 (2002-03-20 12:47:00) [2]>Ivan_A © (20.03.02 12:41)
>Но Action:=MyActtion не запускает процедуру на выполнение.
Здесь про другое Action. Которое в OnClose живет.
Ivan_A (2002-03-20 12:41:00) [3]>MBo
Убивать пробовал и не из обработчика формы. Результат не меняется. Про Action не понял. Это ведь ссылка на объект компонента TActionList. Но Action:=MyActtion не запускает процедуру на выполнение.
MBo (2002-03-20 05:29:00) [4]откуда вызывается free? из обработчика самой убиваемой формы не стоит.
надежнее всего Action:=caFree установить
Ivan_A (2002-03-20 02:39:00) [5]>Doom
Критерий available-ности: на вкладке Project>>Options форма определена как дступная. Сначала она была auto-create и проблем не возникало. Создается и убивается она так:
try
try
......................
InForm:=TInForm.Create(Self);
или
Application.CreateForm(TInForm, InForm);
InFOrm.ShowModal;
except
Application.MessageBox("Ошибка создания формы",
"Предупреждение", MB_OK or MB_ICONEXCLAMATION);
end;
finally
.....................
inForm.Release;
или
InForm.Free;
end;
Doom (2002-03-20 02:01:00) [6]А как ты узнаешь что она available ? Может она и не создана еще а тыее убить хочешь? И расскажи если можно поподробнее а то не до конца понятно что именно ты имеешь в вилу.