|
|
|
Динамическое создание компонентов на модальной форме
|
|||
|---|---|---|---|
|
#18+
Всем привет. Не пойму в чем проблема, создаю модальную форму, на ней в onCreate должны динамически создаваться компоненты, но они создаются только если владельцем является панель. В чем может быть дело? Тут все прекрасно работает Код: pascal 1. 2. 3. 4. 5. 6. 7. А тут нет Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2018, 11:43 |
|
||
|
Динамическое создание компонентов на модальной форме
|
|||
|---|---|---|---|
|
#18+
aford, Попробуйте использовать Self. Код: pascal 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2018, 11:48 |
|
||
|
Динамическое создание компонентов на модальной форме
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2018, 11:52 |
|
||
|
Динамическое создание компонентов на модальной форме
|
|||
|---|---|---|---|
|
#18+
AJi, работает, спасибо! А почему так? Родитель получается сам, память выделена самим, а отображается на форме? Он потом корректно выгрузится из памяти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2018, 11:52 |
|
||
|
Динамическое создание компонентов на модальной форме
|
|||
|---|---|---|---|
|
#18+
Кроик Семён, оно по умолчанию всегда true вроде) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2018, 11:53 |
|
||
|
Динамическое создание компонентов на модальной форме
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Вывод - лучше всего использовать Self ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2018, 11:55 |
|
||
|
Динамическое создание компонентов на модальной форме
|
|||
|---|---|---|---|
|
#18+
P.S. Подсказка с "Self" правильная, а .Visible в true выставить хуже не сделает, но, думаю, он уже true по умолчанию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2018, 11:56 |
|
||
|
Динамическое создание компонентов на модальной форме
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. так вот, локальная переменная Form2 хоть и зовется так же, как и в Unit2, но совершенно ей не равна. Они просто тёзки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2018, 11:58 |
|
||
|
Динамическое создание компонентов на модальной форме
|
|||
|---|---|---|---|
|
#18+
afordAJi, работает, спасибо! А почему так? Родитель получается сам, память выделена самим, а отображается на форме? Он потом корректно выгрузится из памяти? Выше уже все ответили. Не факт, что Form2 и есть ваша форма. А self, внутри самой формы однозначно определяет к какому объекту вы обращаетесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2018, 12:03 |
|
||
|
Динамическое создание компонентов на модальной форме
|
|||
|---|---|---|---|
|
#18+
Все равно не пойму Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. Unit2 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Тоже не работает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2018, 12:03 |
|
||
|
Динамическое создание компонентов на модальной форме
|
|||
|---|---|---|---|
|
#18+
Дело в том ещё, сейчас подумал, что в момент отработки OnCreate в переменную Form2 ещё ничего не записано. Вроде бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2018, 12:08 |
|
||
|
Динамическое создание компонентов на модальной форме
|
|||
|---|---|---|---|
|
#18+
И соответственно не ясно, как оно с Form1 отработать могло. Там же на этот момент ещё мусор записан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2018, 12:10 |
|
||
|
Динамическое создание компонентов на модальной форме
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Вот так работает, только цвет почему-то не меняется у панели ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2018, 12:11 |
|
||
|
Динамическое создание компонентов на модальной форме
|
|||
|---|---|---|---|
|
#18+
Используйте Self. И багов будет меньше. А переменные Form1 и Form2 (и далее по аналогии) лучше вообще забыть, что такие есть. И если из другой формы надо стучаться в какую-нибудь ещё, то лучше предварительно передать в неё ссылку на объект. Тогда и багов, связанных с тем, что инстанций какой-нибудь формы >1 не будет, и код будет более явный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2018, 12:17 |
|
||
|
Динамическое создание компонентов на модальной форме
|
|||
|---|---|---|---|
|
#18+
Все, разобрался. Спасибо за ответы! а панель не окрашивалась, т.к. по умолчанию Код: pascal 1. Поправил на True и все заработало как надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2018, 12:25 |
|
||
|
Динамическое создание компонентов на модальной форме
|
|||
|---|---|---|---|
|
#18+
afordprocedure TForm2.FormShow(Sender: TObject); var Panel: TPanel; begin Panel:= TPanel.Create(Application); Panel.Parent:= Unit1.Form2; Panel.ParentColor:= False; Panel.Color:= clBlue; end; Вот так работает, только цвет почему-то не меняется у панели Вот прямо в тему:Я ужасно не люблю, когда я иду, иду себе спокойно, и тут вдруг – БАЦ! – грабли. То есть, конечно, грабли – это неприятно само по себе, но когда они вот такие внезапные – это очень огорчительно. Другой вопрос, что иногда на них наступить очень хочется. И вот здесь-то вступает в действие мое правило «наступать на грабли очень аккуратно». Это значит: - убедиться, что это именно грабли; - выяснить, из чего эти грабли состоят и чем конкретно они плохи; - посмотреть, как на них наступают другие; - посмотреть на то, что им за это потом прилетает; - прикинуть, как после этого жить дальше; - хорошенько подумать, может, без грабель все-таки будет лучше… И только потом, когда все взвешено, обдумано и спланировано, на них наступить. (С) https://bash.im/quote/451826 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2018, 13:51 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39699509&tid=2040437]: |
0ms |
get settings: |
12ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
79ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 430ms |

| 0 / 0 |
