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

Вниз

MDI интерфейс   Найти похожие ветки 

 
dimaL   (2007-08-02 10:39) [0]

Как предотвратить повторное открытие дочерней формы(Если форма уже открыта, активировать ее).


 
Игорь Шевченко ©   (2007-08-02 10:46) [1]

1.

if not Assigned(ChildForm) then
 ChildForm := TChildForm.Create(Application);
ChildForm.Show;

...
TChildForm.OnDestroy(Sender: TObject);
begin
 ChildForm := nil;
end;

2.
var I: Integer;
begin
 for I:=0 to MDIChildCount do
    if MDIChildren[I] is TChildForm then
    begin
       MDIChildren[I].Show;
       Exit;
   end;
 with TChildForm.Create(Application) do
   Show;

Выбирай


 
dimaL   (2007-08-03 05:18) [2]


> Игорь Шевченко ©

А как быть с активацией окна:
if not Assigned(ChildForm) then
begin
ChildForm := TChildForm.Create(Application);
ChildForm.Show;
end
else
ChildForm.Active:=true;
Не работает!


 
dimaL   (2007-08-03 05:53) [3]

С активацией разобрался. Возник такой вопрос: на дочерней форме находися кнопка с обработчиком: Close;. Иногда закрывается нормально, иногда с ошибкой: Abstract error или Access violation. В чем может быть причина?



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

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

Наверх




Память: 0.47 MB
Время: 0.025 c
2-1185876280
Мануха
2007-07-31 14:04
2007.08.26
отчет таблиц в qreport


3-1178386569
Razor
2007-05-05 21:36
2007.08.26
Delphi + Mysql5


15-1185260598
boriskb
2007-07-24 11:03
2007.08.26
"Кысь"


1-1181746451
Alex_C
2007-06-13 18:54
2007.08.26
Обращение к ф-цииDLL одновременно из нескольких процессов


15-1185792847
Andre_s
2007-07-30 14:54
2007.08.26
Проблема с Asus P5PL2-E