Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Форма как MDI так и модальная
|
|||
|---|---|---|---|
|
#18+
Такой вопрос. Была у меня в проге форма MDI Child. Хочу сделать вывод этой формы и как модальной. Ставлю когда это нужно свойство FormStyle. Но тут загвоздка. Положение и размеры окна я выставляю в OnShow. А здесь делаю проверку if Form.FormStyle=... then. Но при выполнении программы в этом месте ошибка. Почему? И вообще какие будут предложения, как лучше организовать работу одной формы в двух ипостасях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 11:20 |
|
||
|
Форма как MDI так и модальная
|
|||
|---|---|---|---|
|
#18+
Visible помоему тоже нужно менять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 12:08 |
|
||
|
Форма как MDI так и модальная
|
|||
|---|---|---|---|
|
#18+
Ошибка то какая? -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 12:09 |
|
||
|
Форма как MDI так и модальная
|
|||
|---|---|---|---|
|
#18+
Ошибка типа Access VIolation. Похоже, что при обработке OnShow некоторые свойства формы еще недоступны. Я сейчас вынес задание позиции и размеров из OnShow в то место, откуда происходит вызов. Но интересно, как бы это все сделать правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 12:25 |
|
||
|
Форма как MDI так и модальная
|
|||
|---|---|---|---|
|
#18+
А у меня вообще было интересное кино. Просто голая форма MDIChild, никакого кода. Так вот, когда я меняю FormStyle c MDIChild на fsNormal, где-то глубоко в недрах дельфей что-то делает "хрясь", и форма умирает: на ShowModal она говорит: "Cannot make a window visible modal". Спасение - только убить старую и нарисовать новую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 12:33 |
|
||
|
Форма как MDI так и модальная
|
|||
|---|---|---|---|
|
#18+
Не знаю у меня работает Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 12:42 |
|
||
|
Форма как MDI так и модальная
|
|||
|---|---|---|---|
|
#18+
Ну дык правильно, вы ж ее как создали в рантайме, так первый же стиль, который ей присвоили, - и есть fsNormal. А у меня форма в дизайн-тайме сначала была fsNormal, потом MDIChild, потом опять fsNormal, и вот такой свистопляски дельфя и не выдержала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 12:47 |
|
||
|
Форма как MDI так и модальная
|
|||
|---|---|---|---|
|
#18+
ан нет, она у меня изначально чилд (свойство класса TFrmStocksTrebovanie.FormStyle = чилд задано на этапе разработки а когда объект уже создан, то меняю его свойства) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 12:58 |
|
||
|
Форма как MDI так и модальная
|
|||
|---|---|---|---|
|
#18+
При изменении FormStyle, Delphi фактически полностью уничтожает старое и создает новое окно. Поэтому лучше вообще его не менять. В случае осторой необходимости желательнее строить окно как модальное, а уж потом назначать ему fsMDIChild Nobody faults but mine... (LZ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 13:09 |
|
||
|
Форма как MDI так и модальная
|
|||
|---|---|---|---|
|
#18+
> aag погляди исходники - ничего не уничтожаеца. Visible := False и потом меняем людые флаги - а если у чела виолейшен - пусть глядит в дебугерре - где сабака парылась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 13:57 |
|
||
|
Форма как MDI так и модальная
|
|||
|---|---|---|---|
|
#18+
KirillovA procedure TCustomForm.SetFormStyle(Value: TFormStyle); var OldStyle: TFormStyle; begin if FFormStyle <> Value then begin if (Value = fsMDIChild) and (Position = poDesigned) then Position := poDefault; if not (csDesigning in ComponentState) then DestroyHandle ; ... и это по-вашему "ничего не уничтожается"? ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 15:10 |
|
||
|
Форма как MDI так и модальная
|
|||
|---|---|---|---|
|
#18+
Поскольку qqqqq уже ответил, могу лишь дополнить - разница во времени пересоздания сложного окна (с гридом, со множеством конпочек и пр.), между модальным и дочерним, может быть ооочень большой. Nobody faults but mine... (LZ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 17:51 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=1971&tid=2115392]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 414ms |

| 0 / 0 |
