Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1214651627
@!!ex
2008-06-28 15:13
2008.08.17
Plugin для браузера сворачивающий в трей


2-1215717621
Виктор007
2008-07-10 23:20
2008.08.17
Вынести в dll класс


15-1214894072
Игорь М.
2008-07-01 10:34
2008.08.17
по клипперу вопрос (clipper5)


2-1215772186
Виктор
2008-07-11 14:29
2008.08.17
Как разархивировать файл?


2-1215686242
S@shka
2008-07-10 14:37
2008.08.17
Получить HWND окна зная hInstance





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский