Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Диалоговые окна не модальны!
|
|||
|---|---|---|---|
|
#18+
Уважаемая публика. Подскажите, где я мог наворотить такого, что теперь все диалоговые окна , типа ShowMessage, в одной из программ перестали быть модальными. В программе всего одна форма с несколькими вкладками. В другой аналогичной программе все в порядке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 11:49 |
|
||
|
Диалоговые окна не модальны!
|
|||
|---|---|---|---|
|
#18+
Handler потерял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 12:35 |
|
||
|
Диалоговые окна не модальны!
|
|||
|---|---|---|---|
|
#18+
Если можно поподробнее. Никаких действий с хандлером я не производил. В CreateForm только действия с ини-файлом. Просмотр и сравнение свойств этой формы и нормально работающей - тоже ничего не дали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 13:11 |
|
||
|
Диалоговые окна не модальны!
|
|||
|---|---|---|---|
|
#18+
Ну чтобы окошко типа MessageBox было модальным для конкретной формы приложения, в него передаётся хандлер этой формы. Чтобы было модальным относительно всего приложения передаётся хандлер от Application. А проще в этом случае юзать Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 13:45 |
|
||
|
Диалоговые окна не модальны!
|
|||
|---|---|---|---|
|
#18+
Непонятно, что я делать-то должен в этой конкретной ситуации. Где копать? Есть форма с PageControl c 9 закладками, на которые накиданы куча элементов. Даже, если я убираю АБСОЛЮТНО все процедуры модуля и по кнопке просто вывожу: ShowMessage ('QWERTY'); это окошко не является модальным. Запуск аппликации стандартный: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 15:11 |
|
||
|
Диалоговые окна не модальны!
|
|||
|---|---|---|---|
|
#18+
Скорее всего это глюк. У меня уже было такое. Просто перезагружаеш комп и вперед на мины!. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 15:16 |
|
||
|
Диалоговые окна не модальны!
|
|||
|---|---|---|---|
|
#18+
2Aleksei Черта с два. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 15:51 |
|
||
|
Диалоговые окна не модальны!
|
|||
|---|---|---|---|
|
#18+
Дык что, больше никто с такой проблемой не сталкивался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 18:49 |
|
||
|
Диалоговые окна не модальны!
|
|||
|---|---|---|---|
|
#18+
ShowMessage, кажется, все лишь обертка для MessageDlg. Может быть в исходных текстах модуля Dialogs покопаться следует. Советы относительно потерянного хендлера - лажа, т.к. вызывается ShowMessage, а не MesssageBox. Кроме того, приведенный пример > Application->MessageBox("Message", "caption", MB_OK); с точки зрения Delphi-синтаксиса не совсем корректен: строковые параметры заключены не в одинарные, а в двойные кавычки, параметр-сообщение лучше вызывать через PChar(). Если все это приводилось с учетом синтаксиса Билдера - тогда сорри. С другой стороны, если причина глюка устранена не будет, то настоятельно порекомендую пользоваться все тем же MessageBox, который гораздо гибче в настройке, и не затрагивает модуль Dialogs. Заменить все вызовы ShowMessage на аналогичные по внешнему виду MessageBox можно следующим образом: MessageBox(Application.Handle, PChar('xxx'), Application.Title, 8192); , где вместо 'xxx' пишешь свое сообщение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 09:10 |
|
||
|
Диалоговые окна не модальны!
|
|||
|---|---|---|---|
|
#18+
Да, этот номер прошел, только с небольшой поправкой: MessageBox(Application.Handle, PChar('xxx'), PChar(Application.Title), 8192); Однако, это не спасает, т.к. нужны и диалоги, а не только мессаги. Понимаю, что это наверное тоже решается через CreateDialog и т.д. Но, уж больно неохота замарачиваться из-за такой ерунды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 10:26 |
|
||
|
Диалоговые окна не модальны!
|
|||
|---|---|---|---|
|
#18+
Используй Код: plaintext Например Код: plaintext Он не трогает модуль Dialogs. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 11:42 |
|
||
|
Диалоговые окна не модальны!
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, MessageDlg содержится в Dialogs. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 12:33 |
|
||
|
Диалоговые окна не модальны!
|
|||
|---|---|---|---|
|
#18+
модальный мессаджюокс MessageBox(Application.Handle, 'ТеКсТ','ЗаГоЛоВоК',MB_APPLMODAL); MB_APPLMODAL-"константа модальности" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 15:20 |
|
||
|
Диалоговые окна не модальны!
|
|||
|---|---|---|---|
|
#18+
Разобрался! Оказывается, есть 2 юнита - Dialogs и QDialogs. Процедуры и функции там имеют одинаковые имена, там есть и ShowMessage и MessageDlgPos, правда с другим количеством параметров. У меня были выбраны оба юнита, а MessageDlgPos с кол-вом параметров, соответствующим QDialogs. После удаления из юнитов QDialogs и вызовом MessageDlgPos с кол-вом параметров, соответствующим Dialogs окошки диалогов снова стали модальными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 18:09 |
|
||
|
Диалоговые окна не модальны!
|
|||
|---|---|---|---|
|
#18+
В догоночку. С помощью MessageBox можно добится той же функциональности, как и MessageDlg, кроме кнопок "Yes To All" и "No To All". А в положительную сторону отличается возможностью задавать заголовок (а не "Information", "Warning" и прочие стандартные надписи в зависимости от выбранной пиктограммы), возможность задавать системную модальность окна (когда его не закроет ни одно другое приложение) и неиспользование монстра-юнита "Dialogs". Почему монстра? Попробуйте создать наиэлементарнейшую программу вида: programs app1; begin end. и выведите сообщение с помощью MessageBox, а потом с помощью MessageDlg. Разницу в величине Exe заметили? Она многократна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2003, 08:29 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32269334&tid=2116795]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
162ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 264ms |
| total: | 523ms |

| 0 / 0 |
