Форум: "Начинающим";
Текущий архив: 2008.08.17;
Скачать: [xml.tar.bz2];
Внизмодальное окно Найти похожие ветки
← →
workbench (2008-07-15 10:40) [0]Здравствуйте, вот пытаюсь закрыть модальное окно, делаю вот так:
try
...
if ... then
begin
ModalResult = mrOK;
Close
end
finally
...
end
только окошко по Close не закрывается, если заменить на CloseWindow - то тогда оно сворачиваеся, модальные окна как-то по особу закрывать надо? или нельзя совать Close в try... except?
← →
brother © (2008-07-15 10:41) [1]> ModalResult = mrOK;
а close не помогает?
← →
brother © (2008-07-15 10:42) [2]> только окошко по Close не закрывается
я про то, что происходит при этом?
← →
workbench (2008-07-15 10:47) [3]да ничегошеньки не происходит, форма остаётся открытой
← →
clickmaker © (2008-07-15 10:48) [4]> ModalResult = mrOK
этого должно быть достаточно
← →
workbench (2008-07-15 10:53) [5]
> clickmaker
почему ж не закрывается?
создаётся форма вот так
frm := Tsomeform.create(Self);
try
frm.showmodal
finally
frm.free
end;
← →
clickmaker © (2008-07-15 10:58) [6]> почему ж не закрывается?
откуда ставишь ModalResult?
← →
Anatoly Podgoretsky © (2008-07-15 11:00) [7]А кусок кода откуда, нам погадать?
← →
brother © (2008-07-15 11:00) [8]> нам погадать
на картах можно...
← →
workbench (2008-07-15 11:06) [9]
> clickmaker
ModalResult ставлю из ф. которая в свою очередь вызывается из OnActivate
← →
Тын-Дын © (2008-07-15 11:09) [10]
> workbench (15.07.08 11:06) [9]
>
>
> > clickmaker
>
>
> ModalResult ставлю из ф. которая в свою очередь вызывается
> из OnActivate
И она тоже модальная?
← →
Anatoly Podgoretsky © (2008-07-15 11:10) [11]> workbench (15.07.2008 11:06:09) [9]
> вызывается из OnActivate
Больше так не делай
← →
workbench (2008-07-15 11:14) [12]
> Тын-Д
я имел ввиду из функции (ф. - не форма, а функция)
← →
brother © (2008-07-15 11:15) [13]> > вызывается из OnActivate
> я имел ввиду из функции (ф. - не форма, а функция)
мы так и поняли
← →
Anatoly Podgoretsky © (2008-07-15 11:16) [14]
> я имел ввиду
Предлагаешь и здесь гадать?
О сколько нам загадок чудных, готовит "просвещения" дух.
← →
workbench (2008-07-15 11:19) [15]эту прогу я доделываю, здесь уже была сделана нужная функция реализущая то что нужно, её вызов положен в OnActivate, по результатам работы этой функции нужно закрыть форму (чтоб пользователь не пугался), либо оставить (в этом случае он видит log)
я пробовал не юзать OnActivate - тогда всё норм, но как тогда "запустить" функцию по открытию формы?
← →
workbench (2008-07-15 11:20) [16]извините уж за сокращения, больше не буду)
← →
brother © (2008-07-15 11:20) [17]> но как тогда "запустить" функцию по открытию формы?
поставь таймер...
← →
Тын-Дын © (2008-07-15 11:23) [18]
> workbench (15.07.08 11:19) [15]
>
> эту прогу я доделываю, здесь уже была сделана нужная функция
> реализущая то что нужно, её вызов положен в OnActivate,
> по результатам работы этой функции нужно закрыть форму (чтоб
> пользователь не пугался), либо оставить (в этом случае он
> видит log)
>
> я пробовал не юзать OnActivate - тогда всё норм, но как
> тогда "запустить" функцию по открытию формы?
Зачем закрывать форму, которую только что открыл?
Проверяй необходимые условия ДО ТОГО, как откроешь.
← →
Anatoly Podgoretsky © (2008-07-15 11:25) [19]> workbench (15.07.2008 11:19:15) [15]
По открытию - это OnCreate или перед вызовом Show/ShowModal
← →
workbench (2008-07-15 11:30) [20]
> Тын-Дын
в форме находится log (TMemo) - она для того и нужна чтоб пользователь смотрел и видел на каком этапе "он находится", это для далёких пользователей сделано, они не будут читать log, для них закрытие формы означает что всё норм, а вот если какие-то косяки пошли (и форма не закроется спустя какое-то время) они будут уже шевелиться и хотя бы смогут по телефону продиктовать что там написано
← →
Anatoly Podgoretsky © (2008-07-15 11:32) [21]Из Create/Show/Activate ты не сможешь закрыть форму с помощью Close
← →
workbench (2008-07-15 11:35) [22]
> Anatoly Podgoretsky
ага, ошибся, я хотел сказать по активации
← →
Anatoly Podgoretsky © (2008-07-15 11:50) [23]Не суть важно, закрывать надо или извне, как я уже привел, или после выполнения данных методов (варианты - или послать сообщение самому себе или запустить таймер).
Но как уже сказали - подход не верный, зачем что то делать не до конца, когда можно вообще не делать?
← →
Dennis I. Komarov © (2008-07-15 11:54) [24]> [5] workbench (15.07.08 10:53)
создаётся форма вот так
with Tsomeform.Create(Self) do try
......
if ShowModal = mrOk then begin
......
end;
finally
Free;
end;
← →
workbench (2008-07-15 11:58) [25]тогда ничего др. не остаётся - нано подправить то что уже наделано до меня и не городить ещё большей ерунды
спасибо за ответы!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.08.17;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.057 c