- После чего должен обязательно выполняться Application, что-бы на дочерней форме было все видно?
- Как, отказавшись от формы, вывести курсор Wait в начале работы по списку и убрать его в конце работы?
Этот топик читают: Гость
Ответов: 689
Рейтинг: 20
|
|||
Ребят, давайте коснемся темы хоть чуть чуть. Нифига у меня не получается сделать как в "чистом" коде. Руки наверное кривые. Как только восстанавливаю все связи (слава богу теперь сделал так, чтобы форма висела все время проверки): все работает так как и должно работать, т.е. парралельно, но: на форме не виден ни один элемент. Поэтому несколько простых вопросов:
|
|||
карма: 0 |
|
Ответов: 689
Рейтинг: 20
|
|||
Galkov писал(а): Дочерняя форма указана как модальная, но как модальная не работает
Доказательства. Поставь, пожалуйста, себе в труд ограничиться 10-ю элементами, демонстрирующими ЭТО. Убрал все из своего же примера (всякие там циклы и прочее) - вот пример демонстрирующий 10-ю элементами что форма, обозначенная как модальная - как модальная не работает ! code_59 Я бы с удовольствием привел скриншот (не printscreen, а alt+printscreen) но правов нет |
|||
карма: 0 |
| ||
файлы: 1 | code_59.txt [1.3KB] [674] |
Ответов: 8926
Рейтинг: 823
|
|||
oldTV, а почему нужна отдельная форма, можно использовать сраницы? code_60
|
|||
карма: 19 |
| ||
файлы: 1 | code_60.txt [3.6KB] [783] |
Ответов: 689
Рейтинг: 20
|
|||
Это неплохой вариант, я думаю... Спасибо Леонид. Но я не хотел бы, что-бы вторая страница с прогресс баром закрывала первую. Поэтому я сделал ее не в размер формы, а меньше, в тот размер, который был у моей страрой дочерней формы. И тут сразу стали видны закладки страниц. Почемуц они появляются тоже непонятно.
вот мой код (твой код с моей модификацией): code_61 |
|||
карма: 0 |
| ||
файлы: 1 | code_61.txt [3.6KB] [626] |
Ответов: 8926
Рейтинг: 823
|
|||
oldTV, выведите переключатель страниц за пределы формы с помощью отрицательных или очень больших положительных Left и Top.
|
|||
карма: 19 |
|
Ответов: 689
Рейтинг: 20
|
|||
Спасибо, Леонид: это точно нужно.
|
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Леонид писал(а): выведите переключатель страниц за пределы формыА нафига он там вообще oldTV, это форма: code_62 модальная |
|||
карма: 9 |
| ||
файлы: 1 | code_62.txt [1.6KB] [700] |
Ответов: 689
Рейтинг: 20
|
|||
Спасибо за совет по поводу переключателя страниц, Galkov.
Да эта форма модальная, но она имеет кнопку Close. Я добавил элемент "Системное меню формы", где запрещаю выводить кнопку Close - и вот результат: code_63 |
|||
карма: 0 |
| ||
файлы: 1 | code_63.txt [2KB] [605] |
Ответов: 3655
Рейтинг: 69
|
|||
oldTV, А так не проще code_65
|
|||
карма: 0 |
| ||
файлы: 1 | code_65.txt [1.7KB] [633] |
Ответов: 689
Рейтинг: 20
|
|||
Вроде де бы ничего сложного, но я добавил к этому коду немного своего и вот что из этого вышло.
Ты связал закрытие второй модальной формы напрямую, от условия до doClose. Я делаю это через WinTools (Операции над окнами Windows) и вот что из этого получается: code_66 Да, модальная форма созданная таким элементом
[size=-2]------ Добавлено в 15:04 Вячеслав писал(а): oldTV, А так не проще code_65 Нет, так не проще, я еще текст хочу вывести. Вообще-то тема как то переметнулась от одной проблемы к другой. Я буду пробовать вариант Леонида (на работе, в понедельник), он мне кажется более безопасным, т.к. с формой у меня одни проблемы |
|||
карма: 0 |
| ||
файлы: 1 | code_66.txt [2.2KB] [710] |
Ответов: 9906
Рейтинг: 351
|
|||
oldTV писал(а): но она еще закрывает и основную формуЭто глюк WinTools. Мне всегда казалось, что doClose должен посылать WM_CLOSE, а не WM_QUIT И никакого отношения к формам не имеет. Это о надежности, кстати А если запретить закрытие модальной формы, то проще, на самом деле так: code_67 , и никакого отношения к желанию дополнительно вывести текст не имеет. Хотя, запрет досрочного прекращения "... чего то очень длинного" - это новое, конечно, слово в пользовательском интерфейсе. oldTV писал(а): т.к. с формой у меня одни проблемыформа-то чем провинилась |
|||
карма: 9 |
| ||
файлы: 1 | code_67.txt [1.4KB] [691] |
Ответов: 3655
Рейтинг: 69
|
|||
oldTV, Сделай конкретную постановку задачи.
То тебе ненадо Close то какой то текст надо вы вести Куда вывести code_68 |
|||
карма: 0 |
| ||
файлы: 1 | code_68.txt [1.7KB] [655] |
Ответов: 689
Рейтинг: 20
|
|||
Вячеслав, все нормально, извини что сразу не пояснил.
Я хочу это: после нажатия на кнопку отобразить дочернюю форму с имеющейся на ней прогресс баром и показывать пополнение таблицы строк. Для отладки и теста составил вот такое приложеньице: [url=www.hiasm.hexshock.com/xf/load.php?a=3853]code_45[/url]. Эту проблему разрешил Dilma и Tad, вот в этом коде. code_70 , он полностью меня устраивает: Dilma рекомендует [url=www.hiasm.hexshock.com/wiki.php?wiki=Application]Application[/url] и в коде используется цикл. Но у меня, на большом проекте не работает. Я стал разбираться почему и обнаружил небольшой глучок с модальностью. Сейчас Galkov подсказал как этот глючок убрать: использовать вот такую модальную форму
Это было первое что я хочу. Вот второе:
Предлагаемое тобой решение, в коде code_49, я не стал использовать потому что: Использование потоков в таких случаях спасет ситуацию, но оно не будет эффективным. Например, ваша программа открывает большой файл и, зная, что на это уйдет некоторое время, вы выводите табличку с надписью: "Ждите...". Однако надпись может и не успеть отрисоваться, тогда и нужно вызвать один раз метод doProcessMessages, а затем спокойно открывать файл. Совершенно очевидно, что использование отдельного потока в данном примере только усложнит программу и увеличит время для загрузки файла.
Вот у меня такая точно ситуация: программа проверяет большой список компьютеров, попросту их пингует, результаты пинга записывает в таблицу строк. Когда компьютеров мало - этот процесс проходит быстро, а когда много (я поэтому и проверяю на работе, по большому, 100 позиционнуму списку) процесс идет медленно, т.к. время затраченное компонентом на получение отрицательного результата (т.е. когда компа нет в сети, он выключен к примеру) значительное и притормаживает весь процесс). Вот поэтому мне кажется использование Application предпочтительнее чем потоки, предложенные тобой.
По поводу вины формы, извините, моя лирика. Ни в чем она не провинялась. Просто не могу никак заставить с этой формой корректно работать приложение, вот и злюсь. Проект большой и те куски кода, которые описаны выше - это не мое приложение, а только малая толика. Вроде бы восстанавливаю все связи - как и в "чистом" коде (который работает, я уже говорил, так как надо) все равно форма в моем приложении не отображается. Вернее не отображается все, кроме заголовка формы. Не виден бар, текст на форме, кнопка "Отмена". А ведь это последнее из крупных недоработок. Остальные недоработки мелкие, они позволят выпустить приложение и с ними (ну например нет реакции если ничего не ввести в поле "Время между проверками"). Я начал этот вопрос еще в старом форуме поднимать, но не добил... |
|||
карма: 0 |
| ||
файлы: 1 | code_70.txt [3.5KB] [565] |
Ответов: 9906
Рейтинг: 351
|
|||
oldTV писал(а): Я стал разбираться почему и обнаружил небольшой глучок с модальностьюТы слова-то выбирай. То, что ты думаешь, что включить видимость, и запустить форму в модальном режиме, это одно и то же - так это твои проблемы Не все глюк, чего ты не понимаешь. |
|||
карма: 9 |
|
Ответов: 689
Рейтинг: 20
|
|||
А как это называется? Поясни, если не трудно. Я в следующий раз выберу нужные слова. Даже не так: каждый раз, когда другие будут про это же спрашивать и я буду отвечать теми словами, которым ты меня научишь.
|
|||
карма: 0 |
|